相关疑难解决方法(0)

正确初始化空切片的方法

要声明具有非固定大小的空切片,最好是:

mySlice1 := make([]int, 0)
Run Code Online (Sandbox Code Playgroud)

要么:

mySlice2 := []int{}
Run Code Online (Sandbox Code Playgroud)

只是想知道哪一个是正确的方法.

arrays go slice

184
推荐指数
4
解决办法
17万
查看次数

切片的零值不是零

我按照示例https://tour.golang.org/moretypes/10 修改了代码,期望得到相同的结果.我没有.这是一个错误,还是文档错误?巡回演出

零片的长度和容量为0.

我的y变量的长度和容量为0.

package main

import "fmt"

func myPrint(z []int) {
    fmt.Println(z, len(z), cap(z))
    if z == nil {
        fmt.Println("nil!")
    }
}

func main() {
    var z  []int 
    y := []int {}
    myPrint(z)
    myPrint(y)
}
Run Code Online (Sandbox Code Playgroud)

这是我的输出.

[] 0 0
nil!
[] 0 0
Run Code Online (Sandbox Code Playgroud)

我期待第二次"零"〜为什么我没有得到它?

go slice

11
推荐指数
4
解决办法
1万
查看次数

标签 统计

go ×2

slice ×2

arrays ×1