什么叫零代码?- 领略编程的新纪元
160
2023-10-12
【摘要】 本书摘自《零基础Go语言 从入门到精通》一书中第六章,第2.3节,编者是零壹快学
6.2.3 直接生成一个新的切片
1. 声明切片
切片的声明格式如下:
动手写6.2.3
01 package main
02
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数组中对应的元素。
所以,如果切片是从其他数组或切片生成,新切片的元素添加需要考虑对原有数组或切片中数据的影响。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~