Hello, World!
Go で最初のプログラムを書いてみましょう。fmt.Println() 関数を使って、コンソールに文字列を出力する方法を学びます。
Go とは
Go は、Google が開発したプログラミング言語です。
シンプルな文法、高速な動作、並行処理の扱いやすさが特徴です。Web サーバー、CLI ツール、クラウドインフラなど、幅広い分野で使われています。
このコースでは、Go の基本的な文法を学んでいきます。まずは、コンソールに文字を出力することから始めましょう。
Go プログラムの基本構造
Go のプログラムは、次の 3 つの要素で構成されます。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
それぞれの役割を見ていきましょう。
package mainは、このファイルが実行可能なプログラムであることを示しますimport "fmt"は、出力機能を持つfmtパッケージを読み込みますfunc main()は、プログラムのエントリーポイント(実行開始地点)です。プログラムを実行すると、この中のコードが自動的に実行されます
この 3 つが揃って初めて、Go のプログラムとして動かすことができます。
fmt.Println() 関数とは
Go では、コンソールに何かを出力したいときに fmt.Println() 関数を使います。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!") // => Hello, World!
}
関数とは、特定の処理を行う命令のことです。fmt.Println() は「出力する」という処理を行う関数です。
関数の括弧の中に渡す値のことを引数(ひきすう)と呼びます。上の例では "Hello, World!" が引数です。fmt.Println() 関数は、引数として受け取った値をコンソールに出力します。
fmt は「format」の略で、テキストのフォーマットや入出力の機能を提供するパッケージです。Println は「Print line」の略で、出力の末尾に改行を追加します。
文字列とクォーテーション
"Hello" のような文字の並びを文字列と呼びます。Go では、文字列を書くときにダブルクォーテーション(")で囲む必要があります。
package main
import "fmt"
func main() {
fmt.Println("こんにちは") // => こんにちは
}
Go では、文字列にはダブルクォーテーションのみを使います。シングルクォーテーション(')は文字列には使えません。
package main
import "fmt"
func main() {
// シングルクォーテーションは文字列に使えない
fmt.Println('こんにちは') // => コンパイルエラー: more than one character in rune literal
}
なぜクォーテーションが必要なのか
クォーテーションがないと、Go はそれを文字列ではなく、プログラムの命令として解釈しようとします。
package main
import "fmt"
func main() {
// これはエラーになります
fmt.Println(Hello) // => コンパイルエラー: undefined: Hello
}
上のコードは「Hello という名前の何か」を探そうとしてエラーになります。文字列として扱いたい場合は、必ずダブルクォーテーションで囲みましょう。
package main
import "fmt"
func main() {
// 正しい書き方
fmt.Println("Hello") // => Hello
}
いろいろな文字列を出力してみよう
fmt.Println() 関数を使えば、どんな文字列でも出力できます。
package main
import "fmt"
func main() {
fmt.Println("Go を始めよう!") // => Go を始めよう!
fmt.Println("今日の天気は晴れです") // => 今日の天気は晴れです
fmt.Println("1 + 1 = 2") // => 1 + 1 = 2
}
まとめ
- Go のプログラムは
package main、import、func main()の 3 つの要素で構成される fmt.Println()関数を使って、コンソールに文字列を出力できる- 文字列はダブルクォーテーション(
")で囲む(シングルクォーテーションは使えない)
演習に挑戦