言語仕様
- Goの言語仕様における表現方法:EBNF - Wikipedia
- Template:General Category (Unicode) - Wikipedia
Lexical elements
Token
- identifiers
- keywords
- operators and punctuation
- literals
ホワイトスペース(スペース(U+0020)、水平タブ(U+0009)、キャリッジリターン(U+000D)、ニューライン(U+000A))は、トークンを分離する場合を除き、無視されます。
また、開業やファイルの終端があるとセミコロンが挿入されることがある。
Semicolon
生成物の終端にセミコロンを使用している。ただし、以下のルールでセミコロンを省略できる。
- 以下のトークンであれば、行の最後のトークンの直後に自動的にセミコロンが挿入される
- identifiers
- 整数、浮動小数点、虚数、ルーン、または文字列リテラル
- break、continue、fallthrough、returnのいずれかのキーワード
- 演算子および句読点の中の++、–、)、 ] 、 } のいずれか。
- 文を1行にまとめるために、)や}で閉じる前のセミコロンを省略できる
Identifiers
変数や型などのプログラムの実態をあらわす。identifier = letter { letter | unicode_digit } .
Keywords
予約済みのキーワード
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