Golang新手來自Java世界。我有這個非常簡單的一塊方案:Golang數組更新不起作用
package main
import "fmt"
type Foo struct {
A [5]int
}
func main() {
s := make([]Foo, 0)
var foo Foo
s = append(s, foo)
foo.A[0] = 42
fmt.Printf("%v", s[0].A)
}
然而,這種打印[0,0,0,0,0]
而不是[42,0,0,0,0]
我的預期。在交換s = append(s, foo)
和foo.A[0] = 42
行後,它會打印[42,0,0,0,0]
。這是爲什麼?提前致謝。
謝謝!這是我的問題的完美答案。 –