大家都清楚,當你宣告了一個變數 但卻還並木優賦值時,golang中會自動給你的變數類型給一個對應的預設零值。
這是每個型別對應的零值: (建議學習:go)
bool -> false numbers -> 0 string -> "" pointers -> nil slices -> nil maps -> nil channels -> nil functions -> nil interfaces -> nil
##ee#ee##str#ee##type Person struct {
Age int
Name string
Friends []Person
}
var p Person // Person{0, "", nil}
變數p只宣告但沒有賦值,所以p的所有欄位都有對應的零值。
1.
Go的文檔中說到,nil是預先定義的標識符,代表指標、通道、函數、介面、映射或切片的零值,並不是GO 的關鍵字之一2.
nil只能賦值給指標、channel、func、interface、map或slice類型的變數(非基礎型別) 否則會引發pani以上是golang nil什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!