Ich möchte einige Kanäle basierend auf einer Zeichenfolge indizieren. Ich verwende eine Karte, aber es wird mir nicht erlauben, einen Kanal zuzuweisen. Ich bekomme immer "Panik: Zuweisung zum Eintrag in der Karte", was fehlt mir?Golang. Karte der Kanäle
package main
import "fmt"
func main() {
var things map[string](chan int)
things["stuff"] = make(chan int)
things["stuff"] <- 2
mything := <-things["stuff"]
fmt.Printf("my thing: %d", mything)
}
https://play.golang.org/p/PYvzhs4q4S
Sie initialisieren eine Karte mit 'make' oder einem Kartenliteral. Vielleicht gehen Sie durch die ["Tour of Go"] (https://tour.golang.org/), die alle Grundlagen abdeckt. – JimB
Nur eine kleine Klarstellung, falls: Der Nullwert einer Karte ist Null. Wie die Antwort sagt, müssen Sie es mit 'make' initialisieren. – threeve