ad

编程之旅从学会《零基础Go语言》开启_第六章_Go 语言内置容器3

admin 95 2023-10-12

【摘要】 本书摘自《零基础Go语言 从入门到精通》书中第六章,第2.3节,编者是零壹快学

6.2.3 直接生成一个新的切片

1. 声明切片

切片的声明格式如下:

动手写6.2.3

01 package main

02

编程之旅从学会《零基础Go语言》开启_第六章_Go 语言内置容器3

03 import "fmt"

04

05 func main() {

06 var student []int

07 fmt.Println("student切片: ",student)

执行结果如下:

从运行结果可以知道,切片声明后其内容为空,长度和容量均为0。

2. 初始化切片

(1)在声明的同时初始化

我们可以在声明切片的同时进行初始化赋值,示例如下:

动手写6.2.4

执行结果如下:

(2)使用make()函数初始化

声明完切片后,可以通过内建函数make()来初始化切片,格式如下:

注意:切片的容量值必须大于等于切片长度值,否则程序会报错。对于切片的容量应该有个大概的估值,若容量值过小,对切片的多次扩充会造成性能损耗。

动手写6.2.5

执行结果如下:

参照动手写6.2.3,我们可以发现student切片在初始化后,自动填充了0值且不再为空。

6.2.4 为切片添加元素

Go语言中,我们可以使用append()函数来对切片进行元素的添加。当切片不能再容纳其他元素 时(即当前切片长度值等于容量值),下一次使用append()函数对切片进行元素添加,容量会按2倍 数进行扩充。

动手写6.2.6

执行结果如下:

执行结果如下:

由于student1切片是从student数组生成(即对student数组的引用) ,为student1添加元素会覆盖student数组中对应的元素。

所以,如果切片是从其他数组或切片生成,新切片的元素添加需要考虑对原有数组或切片中数据的影响。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:已是最后一篇文章
下一篇:编程之旅从学会《零基础Go语言》开启_第三章_基本变量与类型_结尾
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×