Arrays
#
// Go 言語における <em>array</em>(配列)とは、決まった数だけ要素を並べた列である。
package main
import "fmt"
func main() {
// `a` は int 型の値5個からなる配列。
// 配列の型を見ると要素の型と個数がわかる。
// 配列を宣言すると、要素はゼロ値(int 型の場合は0)になる。
var a [5]int
fmt.Println("emp:", a)
// 配列の index 番目の値を value にするには `array[index] = value` と書く。
// index 番目の値を読み出すには `array[index]` と書く。
a[4] = 100
fmt.Println("set:", a)
fmt.Println("get:", a[4])
// 組み込み関数 `len` は配列の長さを返す。
fmt.Println("len:", len(a))
// このように書けば、配列の宣言と初期化を一行で済ませられる。
b := [5]int{1, 2, 3, 4, 5}
fmt.Println("dcl:", b)
// 配列型は一次元である。
// しかし、配列型を組み合わせて多次元のデータ構造を作ることもできる。
var twoD [2][3]int
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
fmt.Println("2d: ", twoD)
}
# `fmt.Println` に配列を渡すと `[v1 v2 v3 ...]`
# と表示される。
$ go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d: [[0 1 2] [1 2 3]]
# Go では普通、配列より<em>スライス</em>をよく見るだろう。
# スライスについては、次の例で見ていく。