Menu
Coddy logo textTech

既存のスライス/配列のスライス

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]
challenge icon

チャレンジ

初心者

このチャレンジでは、既存のスライスをスライスして新しいサブスライスを作成する練習をします。フルーツのスライスがあり、そこから2つの新しいスライスを作成する必要があります:

  1. 最初の3つのフルーツだけを含むスライス
  2. 最後の2つのフルーツだけを含むスライス

その後、両方の新しいスライスをプリントして、正しく動作することを確認してください。

チートシート

既存のスライスや配列から [start:end] 構文を使用して、新しいスライスを作成します:

numbers := []int{10, 20, 30, 40, 50}
slice1 := numbers[1:3]  // インデックス1から3(3は含まない)までの要素
fmt.Println(slice1)     // [20 30]

開始インデックスまたは終了インデックスを省略することもできます:

slice2 := numbers[:2]  // 開始からインデックス2(2は含まない)まで
slice3 := numbers[3:]  // インデックス3から最後まで
fmt.Println(slice2)    // [10 20]
fmt.Println(slice3)    // [40 50]

自分で試してみよう

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)
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン