構造体内の値を変更しようとしています。残念ながら、 "" ==> "、flow"の値は変更されません。なぜか分からない。ポインタで属性値を変更する方法
スライスでポインタが対応していない理由を説明できますか?私はポインタのスライスを書く必要がありますか?
ありがとうございます。あなたの関数で
package main
import (
"fmt"
)
type Foo struct {
value float64
}
var flows []Foo;
func AddFoo(foo Foo) {
flows = append(flows, foo)
}
func UpdateFoo(stream *Foo) {
stream.value = 5.00
}
func main() {
x := Foo{1.00}
AddFoo(x)
UpdateFoo(&x)
fmt.Println(x)
for _, flow := range flows {
fmt.Println(" ==>", flow)
}
}
あなたの 'x'が' flows'に追加されました。次に、xを変更します。これは 'flows'の中の値を変更しません。それは 'a:= 3; b:= a; a = 5; fmt.Println(b); '' b'の値は 'a'の値のコピーで、' b'が変わると変になります。スライスと同じです。もう一度Go of Tourであなたのやり方を進めてください。 – Volker
ありがとうVolker。それは本当です。この助けをありがとうございました。 – AkrogAmes