在開始學習go之前,我用C和C 作業過一段時間,我很好奇為什么*int和[]int在golang中被當作不同的型別。 你是否想把它看成一個陣列取決于你,但它們都應該是指向記憶體中某個位置的指標,表示int型別的串列的開始。 這個串列的大小很可能是1,但我的觀點是,為什么[]int和*int在go中不是同一個東西?
uj5u.com熱心網友回復:
一個[]int內部有三個值:支持陣列的指標、支持陣列的長度和支持陣列的容量。 Go運行時確保應用程式的索引不會超出支持陣列的范圍。
一個*int只是一個指標,因為Go沒有指標運算(在unsafe包之外),*int不能像C中的陣列那樣使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/315456.html
標籤:
下一篇:strtok是如何作業的?
