in Go, le seguenti opere (nota uno uso della mappa ha un ritorno, l'altra ha due ritorni)mappa Return come 'ok' a Golang sulle funzioni normali
package main
import "fmt"
var someMap = map[string]string { "some key": "hello" }
func main() {
if value, ok := someMap["some key"]; ok {
fmt.Println(value)
}
value := someMap["some key"]
fmt.Println(value)
}
Tuttavia, non ho idea come fare questa stessa cosa con la mia funzione. È possibile avere un comportamento simile con un reso opzionale come map
?
Ad esempio:
package main
import "fmt"
func Hello() (string, bool) {
return "hello", true
}
func main() {
if value, ok := Hello(); ok {
fmt.Println(value)
}
value := Hello()
fmt.Println(value)
}
Wont compilare (a causa dell'errore multiple-value Hello() in single-value context
) ... c'è un modo per fare questo lavoro sintassi per la funzione Hello()
?
Avevo sospettato tanto, ma non ero sicuro di aver avuto problemi con google per i documenti/una risposta definitiva. Grazie per il riferimento anche ai documenti! –