小编P.A*_*.An的帖子

将数组作为函数参数传递

我期望以下代码片段生成aas {0x01, 0x02}(按值传递)或as {0x03, 0x02, 0x01}(按引用传递).奇怪的是,它产生的输出为{0x03, 0x02}.你能帮我理解为什么吗?

package main

import "fmt"

func test1(t []byte) {
    t[0] = 0x03
    t = append(t, 0x01 )
}

func main() {
    a := []byte{0x01, 0x02 }
    test1(a)
    _ = a
    fmt.Printf("%v", a)
}
Run Code Online (Sandbox Code Playgroud)

go

3
推荐指数
1
解决办法
71
查看次数

标签 统计

go ×1