仍然是 Go 的新手。我正在嘗試按照我上一個問題的建議實施答案。在這種情況下,我有一個動物界面和一堆動物結構。我希望能夠遍歷每個動物并獲得它的語言。我已經(jīng)嘗試了一個指針列表,但我不斷收到錯誤“y.language undefined(動物類型沒有字段或方法語言)”:package mainimport "fmt"type animal interface { speak()}type dog struct{ language string}func (d *dog) speak() { d.language = "woof"}var n = []animal{ &dog{},}func main() { for _, w := range n{ x := &dog{} fmt.Println(x) x.speak() fmt.Println(x.language) // this works fmt.Println(w) y := w y.speak() fmt.Println(y.language) // but this doesn't...why?? }}編輯#1:為了讓我的問題更清楚:為什么 x := &dog{} 有效但 y := w 無效?編輯 #2:不喜歡新手;(
如何遍歷接口切片?
慕工程0101907
2021-08-23 16:54:23