http://play.golang.org/p/TE02wFCprM
当我尝试从列表中的结构中获取值时,出现错误恐慌。
fmt.Println(A_elem.Value.(Player).year) //3000
Run Code Online (Sandbox Code Playgroud)
我所做的是创建一个列表并将结构添加到列表中。当我从列表中检索元素时,它是接口类型。但如果我打印出整个接口类型值,它仍然包含结构值。所以我试图获取结构的一个值,但出现了恐慌错误。
这条线运作良好。
fmt.Println(A_elem.Value) //&{dddd 3000}
Run Code Online (Sandbox Code Playgroud)
代码在这里
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
}
Run Code Online (Sandbox Code Playgroud)
我想将结构保存在列表中,并能够从列表中保存的结构之一检索特定值。
我怎样才能做到呢?
提前致谢。