Go語言中的指標和new(T)函式的使用
Go中指標的特點:
1)指標是一個代表著某個記憶體地址的值。
2)這個記憶體地址往往是在記憶體中儲存的另一個變數的值的起始位置。
3)Go語言對指標的支援介於 Java 語言和 C/C++ 語言之間,它既沒有想 Java 語言那樣取消了程式碼對指標的直接操作的能力,也避免了 C/C++ 語言中由於對指標的濫用而造成的安全和可靠性問題。
Go中指標的基本操作:
Go 語言 雖然保留了指標,但與其它程式語言不同的是 :
l 預設值 nil,沒有 NULL 常量
l 操作符 "&"取變數地址, "*" 通過 指標訪問 目 標物件
l 不 支 持指標運算,不 支 持 " -> "運算子,直接⽤ "." 訪問 目標 成員
new函式
表示式new(T)將建立一個T型別的匿名變數,所做的是為T型別的新值分配並清零一塊記憶體空間,
然後將這塊記憶體空間的地址作為結果返回,而這個結果就是指向這個新的T型別值的指標值,
返回的指標型別為*T。
我們只需使用 new()函式,無需擔心其記憶體的生命週期或怎樣將其刪除,因為 Go 語言的記憶體管理系統會幫我們打理一切。