ここではGo言語におけるキーワードと識別子を中心に紹介します。
キーワード
キーワードは Go 言語によって特別な意味が与えられた単語であり、予約語とも呼ばれます。
Go 言語には 25 のキーワードがあります。
break | default | func | interface | select |
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
Go 言語のキーワードが非常に少ない理由は、コンパイル中のコード解析を簡素化するためです。他の言語と同様、キーワードを識別子として使用することはできません。
識別子
識別子は、さまざまな変数、メソッド、関数などに名前を付けるために Go 言語で使用される文字シーケンスを指します。識別子は複数の文字、 _
、数字で構成され、最初の文字は文字である必要があります。平たく言えば、それ自体で定義できる名前はすべて識別子と呼ばれます。
アンダースコア_
は、空白識別子と呼ばれる特別な識別子で、他の識別子と同様に変数の宣言または割り当てに使用できます (任意の型を割り当てることができます)。ただし、この識別子に割り当てられた値はすべて破棄されるため、これらの値は使用されません。を後続のコードで使用したり、 _
変数として使用して他の変数を代入したり操作したりすることはできません。
識別子を使用する前に、識別子を宣言する必要があります。識別子を宣言するとは、この識別子を定数、型、変数、関数、またはコード パッケージにバインドすることです。同じコード ブロック内の識別子の名前を繰り返すことはできません。
識別子の命名は、次の規則に従う必要があります。
- 26 個の英字、0 ~ 9、
_
で構成されます。 - 数値で始めることはできません。たとえば、var 1num int は間違っています。
- Go 言語では大文字と小文字が厳密に区別されます。
- 識別子にスペースを含めることはできません。
- システム予約キーワード (break、if など) は識別子として使用できません。
識別子に名前を付ける際には、さらに留意すべき点がいくつかあります。
- 識別子の名前は、できる限り短く、意味のあるものにする必要があります。
- 標準ライブラリのパッケージ名と同じにすることはできません。
- 変数、関数、定数に名前を付けるときは、stuName、getVal などのキャメル ケースを使用します。
もちろん、Go 言語の変数、関数、定数名の最初の文字も大文字にすることができます。最初の文字が大文字の場合は、他のパッケージからアクセスできることを意味します ( Javaの public と同様)。最初の文字は小文字であり、このパッケージでのみ使用できることを意味します (Java の private に似ています)。
次の表に示すように、Go 言語には事前定義識別子と呼ばれる特別な識別子もいくつかあります。
append | bool | byte | cap | close | complex | complex64 | complex128 | uint16 |
copy | false | float32 | float64 | imag | int | int8 | int16 | uint32 |
int32 | int64 | iota | len | make | new | nil | panic | uint64 |
println | real | recover | string | true | uint | uint8 | uintptr |
定義済みの識別子は、Go 言語の基本データ型や組み込み関数を中心に計 36 個ありますが、これらの定義済み識別子を識別子として使用することはできません。