Golang基础3-函数、nil相关
// 定义一个结构体
type MyStruct struct {
value int
}
// 定义一个返回nil的函数
func ReturnNil() *MyStruct {
var ms *MyStruct
return ms
}
// 定义一个检查结构体是否为nil的函数
func IsNil(ms *MyStruct) bool {
return ms == nil
}
func main() {
// 调用返回nil的函数并赋值给变量
var ms *MyStruct = ReturnNil()
// 输出结构体地址和是否为nil
fmt.Printf("结构体地址: %v, 是否为nil: %v\n", ms, IsNil(ms))
}
这段代码定义了一个结构体MyStruct
和两个函数:ReturnNil
返回nil
指针,IsNil
检查指针是否为nil
。在main
函数中,我们调用ReturnNil
函数并将返回值赋给一个指向MyStruct
类型的指针变量ms
。然后,我们打印出ms
的地址和它是否为nil
。这样做可以帮助理解Go语言中函数返回nil指针的概念,以及如何检查一个指针是否为nil
。
评论已关闭