私は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)
}
...参考に値渡しと値渡しの実際の違いは何ですか?
現実世界のコードでは、json.Unmarshal()はUnmarshalledの値を返すのではなく、空の変数にポインタを渡す必要があるのはなぜですか?
「値渡し」となります。したがって、 'reference'関数は参照値になる整数へのポインタをとります。その関数で何かを返す必要はありません。 – squiguy