I am wondering what the correct syntax is for function calls with multiple return values, one (or more) of which is of type interface{}.
A function that returns interface{}can be called as follows:
foobar, ok := myfunc().(string)
if ok { fmt.Println(foobar) }
but the following code failed multiple-value foobar() in single-value context:
func foobar()(interface{}, string) {
return "foo", "bar"
}
func main() {
a, b, ok := foobar().(string)
if ok {
fmt.Printf(a + " " + b + "\n")
}
}
So what is the correct calling convention?
snim2 source
share