1. 程式人生 > >Golang 中哪些值是不可以定址的

Golang 中哪些值是不可以定址的

不可以定址, 指的是不能通過&獲得其地址。
golang中不能定址的可以總結為:不可變的,臨時結果和不安全的。只要符合其中任何一個條件,它就是不可以定址的。

具體為:
常量的值。
基本型別值的字面量
算術操作的結果值
對各種字面量的索引表示式和切片表示式的結果值:
不過有一個例外,對切片字面量的索引結果值卻是可定址的。
對字串變數的索引表示式和切片表示式的結果值。
對字典變數的索引表示式的結果值。
函式字面量和方法字面量,以及對它們的呼叫表示式的結果值。
結構體字面量的欄位值,也就是對結構體字面量的選擇表示式的結果值。
型別轉換表示式的結果值。
型別斷言表示式的結果值。
接收表示式的結果值。

參考:https://github.com/hyper0x/Golang_Puzzlers/blob/master/src/puzzlers/article15/q1/demo35.go