小编Dee*_*ngh的帖子

指针 (Go 语言)

这是一个菜鸟问题,请耐心解答。所以疑问是为什么 f() 函数指向不同的地址。我的理解是变量 v 必须覆盖旧值。

package main
import "fmt"

var p = f()

func f() *int {
    v := 1
    return &v
}

func main() {
    fmt.Println(f())
    fmt.Println(f())
    fmt.Println(f())
    fmt.Println(p)
}

//0xc0000140b0
//0xc0000140b8
//0xc0000140e0
//0xc000014098
Run Code Online (Sandbox Code Playgroud)

pointers go

2
推荐指数
1
解决办法
193
查看次数

标签 统计

go ×1

pointers ×1