既存のスライス/配列のスライス
CoddyのGOジャーニー「基礎」セクションの一部。レッスン 80/109。
[start:end]構文で範囲を指定すると、既存のスライスや配列から新しいスライスを作成できます。
数値のスライスを作成します。
numbers := []int{10, 20, 30, 40, 50}
fmt.Println("Original:", numbers)インデックス1から3までの要素を取り出します(3は含みません)。
slice1 := numbers[1:3]
fmt.Println("Slice [1:3]:", slice1)結果:
Original: [10 20 30 40 50]
Slice [1:3]: [20 30]開始インデックスまたは終了インデックスを省略することもできます。
slice2 := numbers[:2] // 先頭からインデックス 2 まで(2 は含まない)
slice3 := numbers[3:] // インデックス 3 から末尾まで
fmt.Println("Slice [:2]:", slice2)
fmt.Println("Slice [3:]:", slice3)結果:
Slice [:2]: [10 20]
Slice [3:]: [40 50]チャレンジ
初心者このチャレンジでは、既存のスライスをスライスして新しいサブスライスを作成する練習をします。果物のスライスがあり、そこから2つの新しいスライスを作成する必要があります。
- 最初の3つの果物だけを含むスライス
- 最後の2つの果物だけを含むスライス
次に、作業を確認するために両方の新しいスライスを出力します。
自分で試してみよう
package main
import "fmt"
func main() {
// これが元の果物のスライスです
fruits := []string{"apple", "banana", "orange", "grape", "kiwi"}
// TODO: 最初の3つの果物だけを含む新しいスライス 'firstThree' を作成する
// TODO: 最後の2つの果物だけを含む新しいスライス 'lastTwo' を作成する
// 結果を表示する
fmt.Println("First three fruits:", firstThree)
fmt.Println("Last two fruits:", lastTwo)
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
11複合型:スライス
スライス入門スライスリテラルの宣言`make` によるスライスの作成スライスの長さと容量スライス要素へのアクセス要素の追加既存のスライス/配列のスライススライスの反復処理スライスのコピーまとめ:動的リスト自分で練習してみよう: Goオンラインコンパイラ