はじめに
Go言語は、Googleが開発した高性能な静的型付け言語であり、シンプルで理解しやすい構文を特徴としています。本記事ではGo言語の基本的なチュートリアルをご紹介します。変数の宣言、型、制御構造、関数、そしてGoが他の言語と異なる点を中心に解説します。
Go言語でプログラムを実行する:go run コマンドの使い方を解説
Go言語のインストール
まずはGo言語のインストールから始めましょう。Goの公式サイト(https://golang.org/dl/)から最新版をダウンロードしてインストールします。
変数と型
Go言語は静的型付け言語であり、各変数には明確な型があります。次のように変数を宣言します。
var x int = 10
var s string = "Hello"
また、:=を使用すると型推論を行いながら変数を宣言することができます。
x := 10
s := "Hello"
制御構造
Goの制御構造は他のCライクな言語と似ています。if, for, switchを使った基本的な制御構造を紹介します。
x := 10
if x > 5 {
fmt.Println("x is greater than 5")
}
for i := 0; i < 5; i++ {
fmt.Println(i)
}
switch x {
case 10:
fmt.Println("x is 10")
default:
fmt.Println("x is not 10")
}
関数
Goの関数は以下のように宣言します。funcキーワードを使用し、引数と戻り値の型を明示します。
func add(x int, y int) int {
return x + y
}
fmt.Println(add(3, 5)) // Output: 8
Goの特性: Goroutineとチャネル
Go言語は並行処理を簡単に扱うことができ、その基盤となるのがGoroutineとチャネルです。Goroutineは軽量なスレッドのようなもので、関数の前にgoキーワードをつけるだけで関数を並行に実行することができます。チャネルはこれらGoroutine間でのデータのやり取りを行うためのパイプです。
func worker(id int, ch chan int) {
for {
fmt.Printf("Worker %d received %d\n", id, <-ch)
}
}
func main() {
ch := make(chan int)
for i := 0; i < 5; i++ {
go worker(i, ch)
}
for i := 0; i < 50; i++ {
ch <- i
}
}
上記のコードは、5つのワーカーを起動し、それぞれがチャネルからデータを受け取り、表示する単純な例です。メイン関数では、50の数をチャネルに送信しています。
まとめ
Go言語は高性能でシンプルな構文を持つプログラミング言語で、今回はその基本的な特性と使用方法について解説しました。Goの学習における一歩として、この記事が皆さんの役に立てば幸いです。Go言語の公式ドキュメンテーション(https://golang.org/doc/)も非常に詳しく、学習リソースとして強くお勧めします。