例:
package a
func CreateUser(name string) *User {
if isValid(name) {
return &User{Name: name}
}
return nil
}
package main
func main() {
user := CreateUser("NilDereference")
print(user.Name) // 潜在的な nil 逆参照
}
上記の例の user は User 構造体へのポインターになっていますが、CreateUser が nil を返す可能性があるため、 nil になることがあります。 user が nil かどうかを確認せずに user を逆参照して Name にアクセスしようとしているため、実行時エラーが発生します。