首頁 >後端開發 >Golang >golang nil什麼意思

golang nil什麼意思

(*-*)浩
(*-*)浩原創
2019-12-13 13:44:512979瀏覽

golang nil什麼意思

大家都清楚,當你宣告了一個變數 但卻還並木優賦值時,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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn