変数を宣言しても値を割り当てなかった場合、golang は変数の型に対応するデフォルトのゼロ値を自動的に与えることは誰もが知っています。
これは、各タイプに対応するゼロ値です: (推奨学習: go)
bool -> false numbers -> 0 string -> "" pointers -> nil slices -> nil maps -> nil channels -> nil functions -> nil interfaces -> nil
別の構造:
type Person struct { Age int Name string Friends []Person } var p Person // Person{0, "", nil}
変数 p は宣言されているだけで割り当てられていないため、p のすべてのフィールドは対応するゼロ値を持ちます。
1. Go のドキュメントには、nil はポインタ、チャネル、関数、インターフェイス、マッピング、またはスライスのゼロ値を表す事前定義された識別子であると記載されており、GO のキーワードの 1 つではありません。
#2.nil はポインター、チャネル、関数、インターフェイス、マップ、またはスライス型変数 (非基本型) にのみ割り当てることができ、それ以外の場合は pani がトリガーされます
以上がgolang nil とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。