Wenn Sie das Ergebnis einer Funktion mit 2 Rückgabewerte drucken, SieWert der Karte Retrieval
valA valB
Abrufen von einer Karte erhalten kann entweder 1-Wert oder zwei Werte zurück:
v := m["Answer"]
v, ok := m["Answer"]
Wenn Sie jedoch m["Answer"]
drucken, drucken Sie immer nur v
. Was genau ist die "Funktionssignatur" eines Kartenabrufs? Oder ist das nur ein Sonderfall? Hier ist ein Beispiel für die Unterscheidung:
package main
import "fmt"
func main() {
m := make(map[string]int)
m["Answer"] = 42
v, ok := m["Answer"]
fmt.Println("The value:", v, "Present:", ok)
fmt.Println(banana())
fmt.Println(m["Answer"])
}
func banana() (int, int) {
return 1, 2
}
Es ist eine besondere Aufgabe Fall, wenn es zwei Variablen auf der LHS und der Kartenindex auf der RHS. Sie können den Map-Index-Indexoperator nicht dazu veranlassen, zwei Werte auf andere Weise zurückzugeben. –