Slice
Sliceは、Go言語における可変長の配列のようなデータ構造です。Sliceは、配列の部分を参照することができ、サイズを動的に変更することができます。
-
宣言と初期化:
var s []int // nil Slice s = []int{1, 2, 3} // 初期化
-
長さと容量:
Sliceには、長さ(要素数)と容量(Sliceが参照する配列の長さ)があり、len()
とcap()
関数で取得できます。len(s) // Sliceの長さ cap(s) // Sliceの容量
-
追加:
append
関数を使って要素を追加できます。s = append(s, 4) // 4を追加
Map
Mapは、キーと値のペアを保持するデータ構造で、ハッシュテーブルを基にしています。特定のキーに関連付けられた値を効率的に検索できます。
-
宣言と初期化:
var m map[string]int // nil Map m = make(map[string]int) // Mapの初期化
-
要素の追加と取得:
m["key1"] = 10 // 要素の追加 value := m["key1"] // 要素の取得
-
存在確認:
値の取得時に、キーの存在を確認することができます。value, exists := m["key1"] // existsがtrueならキーは存在
make関数
make
関数は、Slice、Map、Channelを初期化するために使用されます。make
を使うことで、これらのデータ構造を生成し、メモリを確保することができます。
-
Sliceの初期化:
s := make([]int, 5) // 長さ5のSliceを作成
-
Mapの初期化:
m := make(map[string]int) // 空のMapを作成
-
Channelの初期化:
ch := make(chan int) // int型のChannelを作成