Go言語のリストとは
Go言語では、リストはスライスとして表現されます。スライスは、配列の一部または全部を参照するデータ構造です。スライスは、長さ(スライスに含まれる要素の数)と容量(スライスが参照する配列の要素の数)の両方を持っています。
スライスは以下のように宣言されます:
var s []int
このコードは、整数の空のスライスを宣言します。スライスは動的にサイズを変更できるため、Go言語のプログラムでは非常に便利なデータ構造となっています。スライスの要素にアクセスしたり、新しい要素を追加したりする方法については、次のセクションで説明します。
新しいリストの宣言
Go言語では、新しいリスト(スライス)を宣言するためにはいくつかの方法があります。以下にその一部を示します:
- 空のスライスの宣言: 以下のように
var
キーワードを使用して空のスライスを宣言することができます。
var s []int
このコードは、整数の空のスライスを宣言します。
- 初期値を持つスライスの宣言: スライスを宣言する際に、初期値を設定することも可能です。以下の例では、1, 2, 3の三つの要素を持つスライスを宣言しています。
s := []int{1, 2, 3}
- make関数を使用したスライスの宣言:
make
関数を使用して、特定の長さと容量を持つスライスを作成することもできます。
s := make([]int, 5) // 長さと容量が5のスライス
これらの方法を使用して、Go言語で新しいリスト(スライス)を宣言することができます。次のセクションでは、これらのスライスに要素を追加する方法について説明します。
リストへの要素の追加
Go言語では、リスト(スライス)への要素の追加はappend
関数を使用して行います。append
関数は、スライスと追加したい要素を引数に取り、新しいスライスを返します。
以下に、スライスへの要素の追加の例を示します:
s := []int{1, 2, 3}
s = append(s, 4) // sは現在[1, 2, 3, 4]
このコードは、既存のスライスs
に新しい要素4
を追加します。結果として得られるスライスは[1, 2, 3, 4]
となります。
また、複数の要素を一度に追加することも可能です。その場合は、以下のようにします:
s := []int{1, 2, 3}
s = append(s, 4, 5, 6) // sは現在[1, 2, 3, 4, 5, 6]
このコードは、スライスs
に新しい要素4
, 5
, 6
を一度に追加します。結果として得られるスライスは[1, 2, 3, 4, 5, 6]
となります。
このように、Go言語ではappend
関数を使用して簡単にリスト(スライス)への要素の追加を行うことができます。次のセクションでは、これらのスライスの操作方法について説明します。
リストの操作
Go言語のリスト(スライス)は、配列と同様に操作することができます。以下に、スライスの基本的な操作をいくつか示します:
- 要素へのアクセス: スライスの要素には、インデックスを使用してアクセスします。以下の例では、スライス
s
の最初の要素を取得しています。
s := []int{1, 2, 3}
firstElement := s[0] // firstElementは1
- 要素の更新: スライスの要素は、インデックスを使用して更新することができます。以下の例では、スライス
s
の最初の要素を更新しています。
s := []int{1, 2, 3}
s[0] = 10 // sは現在[10, 2, 3]
- 要素の削除: Go言語のスライスから要素を削除するには、
append
関数とスライスのスライス操作を組み合わせて使用します。以下の例では、スライスs
から最初の要素を削除しています。
s := []int{1, 2, 3}
s = append(s[:0], s[1:]...) // sは現在[2, 3]
- スライスの長さと容量:
len
関数とcap
関数を使用して、スライスの長さと容量を取得することができます。
s := make([]int, 5, 10)
length := len(s) // lengthは5
capacity := cap(s) // capacityは10
これらの操作を使用して、Go言語のリスト(スライス)を効果的に操作することができます。これらの基本的な操作を理解することで、より複雑なデータ構造の操作も可能となります。次のセクションでは、これらのスライスの操作方法について説明します。