http://play.golang.org/p/TE02wFCprM
当我尝试从列表中的结构中获取值时,我得到错误恐慌。
fmt.Println(A_elem.Value.(Player).year) //3000
我所做的是制作一个列表并将结构添加到列表中。 当我从列表中检索元素时,它处于接口类型中。 但是,如果我打印出整个接口类型值,它还有结构值。 所以我试图得到一个结构值,但得到了恐慌错误。
这条线运作良好。
fmt.Println(A_elem.Value) //&{dddd 3000}
代码在这里
package main
import (
"container/list"
"fmt"
)
func main() {
type Player struct {
name string
year int
}
A := new(Player)
A.name = "aaaa"
A.year = 1990
B := new(Player)
B.name = "eeee"
B.year = 2000
C := new(Player)
C.name = "dddd"
C.year = 3000
play := list.New()
play.PushBack(A)
play.PushBack(B)
play.PushBack(C)
A_elem := play.Back()
//A_elem.Value is type Player struct
fmt.Println(A_elem.Value) //&{dddd 3000}
fmt.Println(A_elem.Value.(Player).year) //3000
}
我想保存列表中的结构,并能够从列表中保存的结构之一中检索特定值。
我怎么能这样做?
提前致谢。
答案 0 :(得分:2)