Does anyone have any idea why this doesn't work?
I've been racking my brain for about 4 hours now. I cannot make it work.
In my opinion, I'm trying to do the same thing twice. I'm making a map of a field in a struct, and then I'm doing it again on another field in a different struct.
If I try to make the map. It fails with: "cannot assign to struct field. Bet.Events["one"].Runners in map".
So if I remove the make, and just try to assign it, I get: "assignment to entry in nil map"
https://play.golang.org/p/kRcXoyO-8FN
var Bet BetStruct
type BetStruct struct {
Events map[string]Event
}
type Event struct {
Name string
Runners map[int]Runner
}
type Runner struct {
Name string
}
func main(){
// == THIS WORKS FINE ==
Bet.Events = make(map[string]Event)
Bet.Events["one"] = Event{
Name: "first",
}
Bet.Events["two"] = Event{
Name: "second",
}
// == THIS DOES NOT WORK ==
Bet.Events["one"].Runners = make(map[int]Runner)
Bet.Events["one"].Runners[0] = Runner{
Name: "Jeff",
}
}