Go言語の基礎文法
Go言語(Golang)はシンプルで効率的な設計が特徴のプログラミング言語です。その基礎文法について、以下にまとめました。
1. 基本構 造
Goプログラムは、パッケージ宣言から始まり、必要なパッケージをインポートします。その後、main関数がエントリーポイントになります。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
package mainは、実行可能なプログラムであることを示します。importは、他のパッケージを利用するために使用します。fmt.Printlnは標準出力に文字列を表示します。
2. 変数と型
変数の宣言
Goでは型を明示的に指定するか、:=を使って暗黙的に型を推論します。
// 明示的な型指定
var a int = 10
var b string = "Hello"
// 型推論
c := 20
d := "World"
データ型
| 種類 | 型 | 例 |
|---|---|---|
| 整数 | int, uint | int32, uint64など |
| 浮動小数点数 | float32, float64 | 3.14 |
| 論理値 | bool | true, false |
| 文字列 | string | "Hello" |
| 配列、スライス | [N]T, []T | [5]int (配列), []int (スライス) |
| マップ | map[K]V | map[string]int |
3. 制御構文
if文
if condition {
// 条件が真の場合の処理
} else {
// 条件が偽の場合の処理
}
if x := 10; x > 5 { // 初期化文を含めることが可能
fmt.Println("x is greater than 5")
}
forループ
Goでは唯一のループ構文としてforを使用します。
for i := 0; i < 10; i++ {
fmt.Println(i)
}
// 範囲ループ
nums := []int{1, 2, 3}
for index, value := range nums {
fmt.Printf("Index: %d, Value: %d\n", index, value)
}
switch文
switch day := "Monday"; day {
case "Monday":
fmt.Println("Start of the week")
case "Friday":
fmt.Println("End of the week")
default:
fmt.Println("Midweek")
}
4. 関数
基本的な関数
func add(x int, y int) int {
return x + y
}
result := add(3, 5)
fmt.Println(result)
複数の戻り値
func divide(a int, b int) (int, int) {
return a / b, a % b
}
quotient, remainder := divide(10, 3)
fmt.Println(quotient, remainder)
無名関数
sum := func(a int, b int) int {
return a + b
}
fmt.Println(sum(3, 7))
5. ポインタ
Goではポインタを扱いますが、ポインタ演算はサポートされていません。
var x int = 10
var p *int = &x // ポインタ
fmt.Println(*p) // ポインタを介して値を取得