赞
踩
众所周知go如果初始化都会自带零值效果
比如一个切片我们在传送过程中,如果被占位且不想传值为零值
我们就需要使用*
定义如下:
slice = make([]float64, 5)
这样会输出:
[0,0,0,0,0]
定义如下:
slice = make([]*float64, 5)
这样会输出:
[ null, null, null, null, null]
出现头插和尾插的情况是因为我们定义带长度的一个切片
如: slice := make([]*float64, 64)
package main import "fmt" func main() { // 创建一个长度为 64 的 float64 切片 slice := make([]*float64, 64) // 要插入的元素 newElement := 42.0 // 在切片开头插入元素 slice = append(slice, newElement) // 打印切片 fmt.Println(slice) }
输出如下(示意,非正确输出
):
[ …null,null,null,null,null,null,null,42.0]
尾插需要和我们正常的append有一些区别
slice = append([]float64{newElement}, slice...)
package main import "fmt" func main() { // 创建一个长度为 64 的 float64 切片 slice := make([]*float64, 64) // 要插入的元素 newElement := 42.0 // 在切片开头插入元素 slice = append([]float64{newElement}, slice...) // 打印切片 fmt.Println(slice) }
输出如下(示意,非正确输出
):
[
101.777,
101.777,
101.778,
101.778,
101.778,
101.778,
101.778,
101.779,
101.779,
101.779,
101.779,
101.78,
101.78,
101.781,
101.781,
101.782,
80,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
]
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。