-1
以下のコードは、ホルダーがinterface
タイプとして指定されています。ホルダーオブジェクトへの参照によるパス値
Holderオブジェクトに変更を加えて参照型を受け取るようにすることができます。したがって、値オブジェクトが変更された場合はメインオブジェクトに反映されます。
type Holder struct {
Body interface{}
}
type Value struct {
Input int
Result int
}
func main() {
value := Value{Input: 5}
holder := Holder{Body: value}
fmt.Println(value) // {5 0}
modify(holder)
fmt.Println(value) // {5 0} should display {5 10}
}
func modify(holder Holder) {
var value Value = holder.Body.(Value)
value.Result = 2 * value.Input
}
停止 "の参照"(ゴーで何も存在しない)、溶液が明らかになったことを考え。 – Volker