【golang】slice赋值null slice不使用零值 | go slice append 头插 尾插

一、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

]

相关推荐
齐 飞3 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
童先生16 分钟前
Go 项目中实现类似 Java Shiro 的权限控制中间件?
开发语言·go
lulu_gh_yu17 分钟前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
LunarCod20 分钟前
WorkFlow源码剖析——Communicator之TCPServer(中)
后端·workflow·c/c++·网络框架·源码剖析·高性能高并发
Re.不晚41 分钟前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
老秦包你会43 分钟前
Qt第三课 ----------容器类控件
开发语言·qt
凤枭香1 小时前
Python OpenCV 傅里叶变换
开发语言·图像处理·python·opencv
ULTRA??1 小时前
C加加中的结构化绑定(解包,折叠展开)
开发语言·c++
码农派大星。1 小时前
Spring Boot 配置文件
java·spring boot·后端
远望清一色1 小时前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab