一、slice 传 null
1、如何禁止零值
众所周知go如果初始化都会自带零值效果
比如一个切片我们在传送过程中,如果被占位且不想传值为零值
我们就需要使用*
1.1、定义一个带零值的slice
定义如下:
go
slice = make([]float64, 5)
这样会输出:
0,0,0,0,0
1.2、定义一个不带零值的slice
定义如下:
go
slice = make([]*float64, 5)
这样会输出:
null, null, null, null, null
一、golang切片slice
出现头插和尾插的情况是因为我们定义带长度的一个切片
如: slice := make([]*float64, 64)
1、尾插
go
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
2、头插
尾插需要和我们正常的append有一些区别
slice = append([]float64{newElement}, slice...)
go
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