本文へスキップ
BecomeCoder

Goコース · 第1章 Goをはじめる · レッスン1

はじめての Go ― Hello, World

ブラウザで完結

導入

どの言語でも最初は画面に文字を出すところから。Go のプログラムは必ず パッケージ の宣言から始まり、main パッケージの main 関数が実行の入り口(エントリーポイント)になります。

説明

次が Go の最小のプログラムです。

package main

import "fmt"

func main() {
    fmt.Println("Hello, World")
}
  • package main … このファイルが「実行可能なプログラム」であることを示す宣言。すべての .go ファイルは先頭でパッケージを宣言します。
  • import "fmt" … 画面出力などを行う標準ライブラリ fmt(フォーマットの略)を取り込む。
  • func main() { ... } … プログラムが始まる関数。main パッケージの main 関数から実行されます。
  • fmt.Println(...) … 引数を表示して改行する関数。

go run hello.go を実行すると、次のように表示されます。

Hello, World

Go では文の末尾にセミコロン ; を書きません(コンパイラが自動で補います)。また、{ は関数名や if同じ行に置くのが必須ルールです。改行位置まで言語仕様で決まっているのが Go らしさです。

やってみよう

fmt.Println の中の文字列を好きなメッセージに変えたら表示がどう変わるか考えてみましょう。PrintlnPrint(改行しない版)に変えると、出力の末尾の改行がなくなります。

実際に動かしてみよう

下のエディタにGoを書いて「実行」を押すと、学習用シミュレータが fmt の出力を表示します(本物のGoコンパイラではなく、教材の範囲を再現した軽量エンジンです)。スライス・マップ・構造体・インターフェース・goroutine/channel なども動きます。本文の例を書き換えて動かしてみましょう(並行処理の実行順は決定的に再現しているため、本物のインターリーブとは異なる場合があります)。

Go — ブラウザ内で実行(学習用シミュレータ)

Goの教材サブセットを動かす学習用シミュレータを読み込みます(本物のGoコンパイラではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。