Goは、Golangとしても知られ、Googleによって設計されたモダンなプログラミング言語です。サーバサイドのアプリケーションに広く使用されており、その簡潔性と効率性で知られています。
Goで「Hello World」を出力する方法を見ていきます。
まず始めに、コンピュータにGoがインストールされている必要があります。Homebrewを使用してMacにGoをインストールするには、以下のコマンドを実行してください。
brew install go
次のコマンドを実行することで、Goが正しくインストールされているかどうかを確認できます。
go version
Goをインストールしたら、拡張子が.goの新しいファイルを任意のディレクトリ配下に作成し、コードを書き始めます。
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
最初の行package mainは、これがプログラムのメインパッケージであることを宣言しています。すべてのGoプログラムにはメインパッケージが必要です。Goでは、main関数はプログラムのエントリポイントであり、mainという名前のパッケージに格納する必要があります。
2行目のimport "fmt"は、出力をフォーマットしてプリントするための関数を含む、標準ライブラリパッケージfmtをインポートしています。
次のfunc main()では、プログラムのエントリポイントであるmain関数を宣言しています。
最後にfmt.Println("Hello World")という行で、fmtパッケージのPrintln関数を使ってHello Worldという文字列をコンソールに出力しています。パッケージの中の関数や構造体などには(.)を使ってアクセスすることができます。
コードを実行するには、ファイルを保存して、ターミナルウィンドウを開きます。ファイルを保存したディレクトリに移動し、以下のコマンドを実行します。
go run program.go
これで、コードがコンパイルされて実行され、コンソールにHello Worldという文字列が出力されるはずです。
Note: ローカル環境での開発にはエディタが欠かせません。GoLandはGoプログラミングに特化した有料のIDEで、基本的な開発環境を提供します。VScodeは無料のエディタで、プラグインをインストールすることで強力なツールにカスタマイズできます。Goの開発環境を構築するためのオプションとしては、Googleが開発したGoプラグインがよく知られています。
fmt.PrintlnはGoの関数で、コンソールにテキストを表示するために使用されます。
fmt.Println("Hello world!") // Hello world!
fmt.Printlnへの入力として複数の値を指定することができます。各値は自動的に文字列に変換され、出力ではスペースで区切られます。以下はその例です。
fmt.Println("Hello", "world!") // Hello world!
また、入力に文字列、数値、ブーリアンなど異なる種類の値を混ぜることができます。
fmt.Println("The answer is", 42) // The answer is 42
Printfは、出力テキストを特定の方法でフォーマットすることができる関数です。fmt.Printfでは、出力テキストのどこに値を挿入するかを指定するために%記号が使用されます。
fmt.Printf("Hello %s!", "world") // Hello world!
この例では、%sは、出力テキストのその位置に文字列値を挿入することを指定するプレースホルダーです。fmt.Printf関数の第2引数に文字列worldを指定しています。このコードでは、コンソールにHello world!と表示されます。
fmt.Printfのフォーマット文字列の%記号の後の文字は、出力テキストに挿入されるべき値の種類を指定します。
%記号の後の指定子は、fmt.Printfの引数として与えた値の型と一致する必要があります。
それでは、例を見てみましょう。
fmt.Printf("The value of x is: %d", 42) // The value of x is: 42
fmt.Printf("The value of pi is approximately: %.2f\n", 3.14159) // The value of pi is approximately: 3.14
記号の後の.2は、小数点以下2桁までしか表示しないことを指定します。
fmt.Printf("%s has %d years of experience.", "John", 5) // John has 5 years of experience.
fmt.Printf("The statement is %t.", true) // The statement is true.
また、\nを使用することで、行末を指定し、改行することができます。
fmt.Printf("Hello\n%s!", "world")
// Hello
// world!
文字列内のHelloの後に改行文字が出力され、次の行が改行されます。