【Go】ゼロ値
point.icon Goにおいて、変数は必ず初期化される
例えば、var n intのように初期化した場合、0が勝手に代入されている。
一般的なプログラミング言語だと、nullが代入される。
標準型のゼロ一覧
table: 標準型のゼロ値一覧
型 ゼロ値
--- ---
int,int8,int16,int32,int64 0
uint,uint8,uint16,uint32,uint64 0
byte,rune,uintptr 0
float32,float64 0
complex64,complex128 0
bool false
string ""
error nil
配列を値なし初期化しても、中身がゼロ値で初期化される
var ns [3]intで初期化したら、[0 0 0]という値で初期化される。
構造体で値なし初期化しても同じで、中身のフィールドが全てゼロ値になる
code: sample.go
type Hoge struct {
N int
}
var h Hoge
結果は、Hoge{N:0, NS:[3]int{0, 0, 0}}となる。
構造体の中に構造体があっても同じ。