Go/宣言済識別子
表示
< Go
Go言語における宣言済識別子(Predeclared identifiers)は、言語の仕様として最初から定義されている名前のことです。これらはパッケージをインポートすることなく、どこでも直接使用できます。
大きく分けて以下の4つのカテゴリーに分類されます。
型 (Types)
[編集]詳細は「宣言済型」を参照
基本データ型を定義する識別子です。用途や性質ごとに分類されます。
| カテゴリ | 識別子 |
|---|---|
| 整数型 | int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr
|
| 浮動小数点型 | float32, float64
|
| 複素数型 | complex64, complex128
|
| その他の基本型 | bool, string
|
| 別名 | byte(uint8uint8の別名), rune(int32の別名)
|
| インターフェース型(Go 1.18以降含む) | any(空のインターフェースinterface{}の別名), error, comparable
|
定数 (Constants)
[編集]詳細は「宣言済定数」を参照
真偽値や特殊な状態を表す定数です。
true/false: 論理値の真と偽。iota:const宣言内で使用される、0から始まる連続した型なし整数。nil: ポインタ、インタフェース、マップ、スライス、チャネル、関数の「ゼロ値(未定義状態)」を表す。
関数
[編集]詳細は「宣言済関数」を参照
インポートなしで呼び出せる便利な関数群です。
- メモリ割り当て:
make,new - コレクション操作:
append,copy,delete,len,cap - エラー処理:
panic,recover - 複素数:
complex,real,imag - その他:
close,print,println(print系は主にデバッグ用)
特殊な用途
[編集]_(ブランク識別子): 値を破棄したり、インポートしたパッケージの初期化のみを行いたい場合に使用されます。
⚠️ 注意点:シャドウイング(Shadowing)
[編集]Goの宣言済識別子は「予約語(Keyword)」とは異なります。if や for は変数名に使えませんが、int や append は技術的には変数名として再定義できてしまいます。
// 悪い例:宣言済識別子を上書き(シャドウイング) int := 10 fmt.Println(int) // intが型ではなく変数として扱われてしまう
このように、宣言済識別子を変数名や関数名に使うとコードが非常に混乱するため、避けるのが鉄則です。