Menu
CoddyTech

Các cách cắt slice

Bài học 5 trên 21 trong khóa học Slice và map trong Go của Coddy.

Trong các bài học trước, chúng ta đã thảo luận về những kiến thức cơ bản về cắt lát và cách sử dụng nó để giảm kích thước của một lát cắt hoặc một mảng. Chúng ta đã đề cập rằng cú pháp để cắt lát là <strong>name[start:stop]</strong>. Hãy cùng khám phá nhiều cách sử dụng biểu thức cắt lát này.

Ví dụ, hãy xem biểu thức sau:

arr := []string{"kiwi", "apple", "orange", "banana", "grape", "pineapple"}
newArr := arr[:4]

Điều này cho biết chúng ta muốn bắt đầu từ chỉ số 0 và lấy đến phần tử thứ 4:

[kiwi apple orange banana]

Ví dụ, nếu bạn thấy một biểu thức như sau:

arr := []string{"kiwi", "apple", "orange", "banana", "grape", "pineapple"}
newArr := arr[4:]

Điều này có nghĩa là chúng ta bắt đầu từ chỉ số 4 đến cuối lát cắt:

[grape pineapple]

Nếu bạn thấy một biểu thức như sau:

arr := []string{"kiwi", "apple", "orange", "banana", "grape", "pineapple"}
newArr := arr[:]

Điều này có nghĩa là chúng ta bắt đầu từ chỉ số 0 đến cuối lát cắt (tạo một bản sao của lát cắt ban đầu):

[kiwi apple orange banana grape pineapple]

Lưu ý rằng khi cắt lát, chúng ta cần chú ý đến độ dài của lát cắt ban đầu. Chúng ta không thể dùng một vị trí không nằm trong lát cắt, ví dụ:

arr := []string{"kiwi", "apple", "orange", "banana", "grape", "pineapple"}
newArr := arr[:8]

Điều này sẽ gây ra lỗi, vì vị trí 8 nằm ngoài sức chứa của lát cắt và lát cắt chỉ có 7 phần tử.

challenge icon

Thử thách

Dễ

Trong đoạn code đã cho, chúng ta định nghĩa một slice gồm 8 phần tử. Bạn cần lấy toàn bộ slice ngoại trừ phần tử đầu tiên và phần tử cuối cùng. In kết quả ra màn hình.

Tự làm thử

package main

import "fmt"

func main() {
    // Khai báo một slice
	languages := []string{"C", "C++", "Java", "Python", "JavaScript", "Ruby", "Go", "Swift"}
    // Cắt slice
	 
    // In slice ra màn hình
	 

}

Tất cả bài học trong Slice và map trong Go

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