【发布时间】:2018-01-24 10:51:35
【问题描述】:
我尝试检查 Golang 何时将本地值返回为 nil,然后我使用此代码。
package main
import (
"fmt"
)
type S struct{}
func InitEfacePointer() interface{} {
var s *S
println(s)
return s
}
func main() {
s := InitEfacePointer()
fmt.Println(s)
//println(s)
}
输出是 0x0
但是当我只是使用 println 来输出值时。
package main
type S struct{}
func InitEfacePointer() interface{} {
var s *S
println(s)
return s
}
func main() {
s := InitEfacePointer()
println(s)
}
输出更改为 0x0 (0x93d40,0x0)
谁能解释这种行为的机制?谢谢!
【问题讨论】:
标签: go