Idiomatische Methode zum Ausführen der Konvertierung / Typzusicherung für mehrere Rückgabewerte in Go
Wie lassen sich mehrere Rückgabewerte in Go idiomatisch umsetzen?
Können Sie dies in einer einzelnen Zeile tun, oder müssen Sie temporäre Variablen verwenden, wie ich es in meinem Beispiel unten getan habe?
package main
import "fmt"
func oneRet() interface{} {
return "Hello"
}
func twoRet() (interface{}, error) {
return "Hejsan", nil
}
func main() {
// With one return value, you can simply do this
str1 := oneRet().(string)
fmt.Println("String 1: " + str1)
// It is not as easy with two return values
//str2, err := twoRet().(string) // Not possible
// Do I really have to use a temp variable instead?
temp, err := twoRet()
str2 := temp.(string)
fmt.Println("String 2: " + str2 )
if err != nil {
panic("unreachable")
}
}
Übrigens heißt escasting
wenn es um schnittstellen geht?
i := interface.(int)