我对golang很陌生,一般编译语言,所以请原谅我的无知。在这样的一些代码:变量赋值和传递参考之间有什么区别?
package main
import "fmt"
func assign() int {
return 1
}
func reference(foo *int) int {
*foo = 2
return 0
}
func main() {
var a, b int
a = assign()
reference(&b)
fmt.Println(a)
fmt.Println(b)
}
...将值分配给与传递b通过引用有什么实际区别?
就现实世界的代码而言,为什么json.Unmarshal()要求你传递一个指向你空变量的指针,而不仅仅是返回Unmarshalled值,以便你可以将它分配给你的变量?
Go是“按价值传递”。所以'reference'函数将一个指向一个整数的指针恰好作为一个参考值。您不需要在该功能中返回任何内容。 – squiguy