LoginSignup
1
2

GO言語における nil と null の違い

Last updated at Posted at 2024-02-03

GO言語において、nil と null は似ているようで異なる概念です。これらの用語は、異なるプログラミング言語で使われることがあり、それぞれの言語において異なる挙動を示すことがあります。GO言語では、nil という用語がより一般的に使用されていますが、一部の文脈では null という言葉も見られることがあります。

1. nil の使用

GO言語では、nil は主にポインタ、スライス、チャネル、マップ、インターフェース、関数などの特定の型の変数が値を持たないことを示すために使用されます。例えば、ポインタの初期値は通常 nil です。

package main

import "fmt"

func main() {
	var myPointer *int
	if myPointer == nil {
		fmt.Println("ポインタはnilです。")
	}

}
ポインタはnilです。

2. null の使用

一方で、null はGO言語では一般的ではありませんが、一部の他のプログラミング言語(例: JavaScript、Java、C#)で使われています。null は通常、オブジェクトが存在しないことを示すために使われ、変数が何も参照していないことを示します。

var myObject = null;

./prog.go:8:17: undefined: null

image.png

3. 結論

GO言語では nil が主に使用され、特定の型が値を持たないことを示します。一方で、null はGO言語ではあまり一般的ではなく、他のプログラミング言語でよく見られる用語です。どちらも変数が値を持たない状態を示すための概念であり、コンテキストによって使い分けられるべきです。

デバッグツール

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2