初級 › invalid memory address or nil pointer dereference の原因と直し方 › パターン5
invalid memory address or nil pointer dereference の原因と直し方
値が代入されていないnilのポインタや構造体のフィールドにアクセスすると、実行時にパニックが発生します。
1 package main 2 3 import "fmt" 4 5 type Box struct{ Width int } 6 7 func main() { 8 ____________________ ^ 9 fmt.Println(p.Width) 10 }
panic: runtime error: invalid memory address or nil pointer dereference
空欄を埋めて実行を通す
ポインタ型のゼロ値はnilです。フィールドを読む前に必ず実体を指すようにする必要があります。
次の問題