type Point struct {
x, y int
}
func main() {
point := Point{x: 20, y: 50}
if point == nil {
fmt.Println("point is nil")
}
}
こんな感じにpoint == nil
のように比較するとコンパイルエラーなります。
cannot convert nil to type Point
要は値とnilを比較するのがダメなので、
&point == nil
のように参照と比較するとすれば良いです。
2014/10/15 追記
コメント頂きましたが、サンプルコードでは zero value
で初期化されているので決してtrueになりませんが参照と比較しないとダメということで。
goのnil判定は思ったよりも複雑なようなので、タイトル「nilの判定方法」から変更しました。