我试图弄清楚指针在 Go 中是如何工作的,我想我开始明白了,但这让我很困惑,我真的不知道要搜索什么。假设我有以下功能:
func createNode(nodeInfo string) *TreeNode {
return &TreeNode{info: nodeInfo}
}
我知道该函数正在返回创建的结构实例的内存地址,但是函数签名怎么说*TreeNode?根据我的理解, the*用于取消引用指针以获取值本身,那么这里发生了什么?
也在这里:
func zero(xPtr *int) {
*xPtr = 0
}
func main() {
x := 5
zero(&x)
}
相反的情况发生在函数接受运算符的参数*但函数本身被运算符调用的情况下&。
交互式爱情
相关分类