http://play.golang.org/p/TE02wFCprM
リストからの構造体から値を取得しようとすると、エラーパニックが発生します。
fmt.Println(A_elem.Value.(Player).year) //3000
私がしたことは、リストを作成し、リストに構造を追加することです。リストから要素を取得すると、それはインターフェイス型になります。それでも、インターフェース型の値全体を出力すると、構造体の値が含まれています。そのため、構造体の値を 1 つ取得しようとしましたが、パニック エラーが発生しました。
このラインはうまく機能しています。
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
}
リストに構造を保存し、リストに保存されている構造の 1 つから特定の値を取得できるようにしたいと考えています。
どうすればできますか?
前もって感謝します。