【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

相关推荐
lozhyf4 分钟前
能发弹幕的简单视频网站
java·spring boot·后端
SamDeepThinking5 分钟前
Cursor集成MCP MySQL服务器完整配置指南
后端·ai编程·cursor
禹曦a19 分钟前
JavaScript性能优化实战指南
开发语言·javascript·性能优化
AAA修煤气灶刘哥23 分钟前
ES 地理查询玩明白,产品要的 “附近的店” 再也难不倒我!(附 DSL+Java 实战)
java·后端·elasticsearch
Swift社区24 分钟前
Swift 解法详解:LeetCode 371《两整数之和》
开发语言·leetcode·swift
Swift社区25 分钟前
Swift 解法详解 LeetCode 362:敲击计数器,让数据统计更高效
开发语言·leetcode·swift
ytttr87330 分钟前
PHP中各种超全局变量使用的过程
开发语言·php
shark_chili33 分钟前
深入理解CPU缓存:编写高性能Java代码的终极指南
后端
Q741_14736 分钟前
C++ 前缀和 高频笔试考点 实用技巧 牛客 DP34 [模板] 前缀和 题解 每日一题
开发语言·c++·算法·前缀和·牛客网
十八旬41 分钟前
苍穹外卖项目实战(day-5完整版)-记录实战教程及问题的解决方法
java·开发语言·spring boot·redis·mysql