Menu
CoddyTech

Tạo slice từ slice hoặc mảng hiện có

Thuộc phần Kiến thức nền tảng trong hành trình GO của Coddy. Bài học 80 trên 109.

Bạn có thể tạo một lát cắt mới từ lát cắt hoặc mảng hiện có bằng cách chỉ định một phạm vi với cú pháp [start:end].

Tạo một lát cắt gồm các số:

numbers := []int{10, 20, 30, 40, 50}
fmt.Println("Original:", numbers)

Lấy các phần tử từ chỉ số 1 đến trước 3:

slice1 := numbers[1:3]
fmt.Println("Slice [1:3]:", slice1)

Kết quả:

Original: [10 20 30 40 50]
Slice [1:3]: [20 30]

Bạn cũng có thể bỏ qua chỉ số bắt đầu hoặc kết thúc:

slice2 := numbers[:2]  // Từ đầu đến chỉ số (index) 2 (không bao gồm 2)
slice3 := numbers[3:] // Từ chỉ số 3 đến cuối
fmt.Println("Slice [:2]:", slice2)
fmt.Println("Slice [3:]:", slice3)

Kết quả:

Slice [:2]: [10 20]
Slice [3:]: [40 50]
challenge icon

Thử thách

Người mới

Trong thử thách này, bạn sẽ luyện tập cách cắt một slice hiện có để tạo các slice con mới. Bạn có một slice trái cây và cần tạo hai slice mới từ đó:

  1. Một slice chỉ chứa ba loại trái cây đầu tiên
  2. Một slice chỉ chứa hai loại trái cây cuối cùng

Sau đó, in ra cả hai slice mới để kiểm tra kết quả.

Tự làm thử

package main

import "fmt"

func main() {
	// Đây là lát cắt (slice) trái cây ban đầu
	fruits := []string{"apple", "banana", "orange", "grape", "kiwi"}
	
	// TODO: Tạo lát cắt mới tên là 'firstThree', chỉ chứa ba loại trái cây đầu tiên
	
	// TODO: Tạo lát cắt mới tên là 'lastTwo', chỉ chứa hai loại trái cây cuối cùng
	
	// In ra kết quả
	fmt.Println("First three fruits:", firstThree)
	fmt.Println("Last two fruits:", lastTwo)
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Go online