技術メモのかけら

内容はもとより調べたことすら忘れてしまうので個人的なメモです。とにかく短く、結論だけ書いていきます。

nilを判定する

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 := &Point{x: 20, y: 50} point := new(Point) のように参照をpointに設定するか、 &point == nilのように参照と比較するとすれば良い。