Menu
CoddyTech

最大容量

Coddy Go 中的切片和映射 课程的第 8 课,共 21 课。

在上一课中,我们讨论了容量,并了解到进行切片时,容量是从起始位置到切片末尾计算的。不过,我们可以使用切片运算符或表达式来控制或限制容量。来看一个例子:

我们知道,切片运算符的语法如下:<strong>[start:stop]</strong>,但我们可以为这个运算符添加第三个选项,写成这样:<strong>[start:stop:capacity]</strong>。第三个选项可以设置切片的最大容量。

因此,使用完整的切片表达式,你可以对切片进行切片,同时限制该切片表达式返回的切片容量。

假设我们有一个这样的切片:

numbers := []int{1, 2, 3, 4, 5, 6}

我们来对它进行切片,取出 3 个元素:

numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4]

可以这样表示:


所以,这里我们得到 3 个元素,容量为 5,正如图中所示。

现在,如果我们在切片运算符中使用容量,并将其设为 3,例如:

numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4:4]

把 容量 想象成这里的元素位置,我们将它设为 4。不过请注意,停止 位置不能大于容量 位置。

challenge icon

挑战

简单

在给定的代码中,我们定义了一个名为 coddy 的切片,其中有 6 个元素。

  • 执行切片操作,从 coddy 切片中提取元素 "Tech" 和 "Learn Golang",同时确保其容量为 4。

亲手试试

package main

import (
	"fmt"
)

func main() {
    // 包含 6 个元素的切片 
	coddy := []string{"Coddy","Tech","Learn Golang","Learn JavaScript","C++","C#"}
	// 在这里进行切片操作 
	 
	// 将元素打印到屏幕上
	fmt.Println("Elements:" ?)
	// 打印容量
	fmt.Println("Capacity:" ?)

}

Go 中的切片和映射中的所有课

自己练习: Go 在线编译器