Go 速習チュートリアル

Go 言語の構文

1. Goの構文 (Go Syntax)

Goのファイルは、主に以下のパーツで構成されています。

  • パッケージ宣言 (Package declaration)
  • パッケージのインポート (Import packages)
  • 関数 (Functions)
  • ステートメント(文)とエクスプレッション(式) (Statements and expressions)

理解を深めるために、以下のコード例を見てみましょう。

コード例:

package main
import ("fmt")

func main() {
  fmt.Println("ハローワールド!")
}

2. コードの解説 (Example explained)

  • 1行目: Goでは、すべてのプログラムはパッケージの一部である必要があります。これには package キーワードを使用します。この例では、プログラムは main パッケージに属しています。
  • 2行目: import ("fmt") は、fmt パッケージに含まれるファイルをインポートするための記述です。
  • 3行目: 空行です。Goはホワイトスペース(空白)を無視します。コード内に適切にホワイトスペースを配置することで、可読性が向上します。
  • 4行目: func main() {} は関数です。この波括弧 {} の内側にあるコードが実行されます。
  • 5行目: fmt.Println()fmt パッケージで提供されている関数です。テキストを出力・表示するために使用されます。この例では「ハローワールド!」を出力します。
注意: Goにおいて、実行可能なコードは必ず main パッケージに属している必要があります。

3. Goのステートメント (Go Statements)

fmt.Println("ハローワールド!") は1つのステートメント(命令文)です。

Goでは、ステートメントは行の終わり(エンターキーの入力)またはセミコロン「;」によって区切られます。

  • エンターキーを押すと、行の末尾に暗黙的に「;」が追加されます(実際のソースコード上には表示されません)。
  • 重要な制約: 左波括弧 { を行の先頭に配置することはできません。

以下のコードを実行して、何が起こるか確認してみましょう(このコードはエラーになります)。

エラーになる例:

package main
import ("fmt")

func main()
{
  fmt.Println("ハローワールド!")
}

4. コンパクトなコード (Go Compact Code)

以下のように、よりコンパクトにコードを記述することも可能です。ただし、コードが読みにくくなるため、実務では推奨されません。

コンパクトな記述例:

package main; import ("fmt"); func main() { fmt.Println("ハローワールド!");}