Go言語入門:言語仕様 -Vol.102-

スポンサーリンク
Go言語入門:言語仕様 -Vol.102- 用語解説
Go言語入門:言語仕様 -Vol.102-
この記事は約3分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

本日は、Go言語の言語仕様について解説しています。

スポンサーリンク

背景

Go言語を学び始めて、公式の「The Go Programming Language Specification(言語仕様書)」を開いてみたものの、「英語で書かれていて読むのが大変…」「専門用語ばかりで何を言っているのかわからない…」と感じたことはありませんか? 実は、多くのGo初心者が同じ壁にぶつかっています。

言語仕様書は、Go言語の「正式な取扱説明書」のような存在です。プログラミング言語がどのように動くのか、どんなルールで書くべきなのかが詳しく書かれていますが、その分、初めて読む人には難しく感じられるのも事実です。

そこでこの記事では、言語仕様書の導入部分を丁寧な日本語訳とともに、初心者の方でも理解しやすい補足説明を加えてお届けします。「強く型付けされている」「ガベージコレクション」「並行プログラミング」といった専門用語も、具体例を交えながらわかりやすく解説していきます。

言語仕様書は難しそうに見えますが、一つひとつの概念を丁寧に読み解いていけば、必ず理解できます。一緒に、Go言語の基礎をしっかり学んでいきましょう!

空文(Empty statements)

空文は何もしない。

EmptyStmt = .

解説

空文ってなに?

空文は、文字どおり何もしない文です。Go の仕様の中で最も短い節ですね。

構文上「文が必要な場所」に何も書かないことが許されている、ということを定義しています。

どこで使われる?

空文を意識的に書くことはほとんどありませんが、実は日常的なコードの中に暗黙的に存在しています。

1. for の条件だけを書くとき

for ; x < 10; x++ {
    // 初期化文の部分が空文
}

2. セミコロンの後に何もないとき

for i := 0; i < 10; {
    // 後置文の部分が空文
    i += step()
}

3. ラベルの後に文がないとき

loop:
    ;  // 空文(ラベルの直後にはなんらかの文が必要)

Go ではセミコロンが自動挿入される

Go ではほとんどの場合セミコロンを書きませんが、コンパイラが自動的に挿入しています。そのおかげで、空文を明示的に書く場面はほぼありません。

// 実際に書くコード
for x < 10 {
    doSomething()
}

// コンパイラが内部的に解釈する形
for ; x < 10; {
    doSomething();
};

空文は Go の構文を成り立たせるための「文法上の接着剤」のようなもので、プログラマが直接意識する必要はほとんどない存在です。

おわりに 

本日は、Go言語の言語仕様について解説しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました