Go の基本構文

コメント

コメントは // ... または /* ... */ の形式で記述する。コメントはコンパイル時に無視される。

// これはコメントである。

/* これも
   コメントである。 */

行末のセミコロン

文末にはセミコロン (;) を記述できるが、通常は省略する。複数の文を 1 行に記述するときはセミコロンを使用する。

num = 123; str = "ABC";

エスケープシーケンス

文字列や文字には次のエスケープシーケンスを使用できる。

\a ベル (U+0007)
\b バックスペース (U+0008)
\t タブ (U+0009)
\n 改行 (U+000A)
\v 垂直タブ (U+000B)
\f フォームフィード (U+000C)
\r キャリッジリターン (U+000D)
\" ダブルクォート (U+0022)
\' シングルクォート (U+0027)
\\ バックスラッシュ (U+005C)
\x42 ASCII 文字 (U+0000-U+00FF)
\u30A2 Unicode 文字 (U+0000-U+FFFF)
\U0001F604 Unicode 文字 (U+0000-U+10FFFF)

キーワード

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

インポート

パッケージを読み込むには import を使用する。

import "fmt"

複数のパッケージはまとめて読み込める。

import (
    "os"
    "fmt"
)

遅延実行

defer 文は、その文を含む関数から戻る直前に処理を実行する。リソースを確実に解放するときによく使われる。

func funcA() {
    fp, err := os.Open("sample.txt")
    if err != nil {
        return
    }
    defer fp.Close()

    for {
        ...
    }
}