技術メモのかけら

内容はもとより調べたことすら忘れてしまうので個人的な技術メモを残しているブログです。Qiitaの記事にするほどでもない細かいネタを投稿します。

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のように参照と比較するとすれば良い。