5
interface{}
중 하나 (또는 그 이상)의 여러 반환 값을 사용하여 함수를 호출하는 올바른 구문이 무엇인지 궁금합니다.인터페이스 {} 및 유형 어설 션이있는 다중 반환 유형
interface{}
을 반환하는 함수는 다음과 같이 호출 할 수 있습니다
foobar, ok := myfunc().(string)
if ok { fmt.Println(foobar) }
하지만, 다음 코드는 오류 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") // This line fails
}
}
그래서, 올바른 호출 규칙은 무엇인가?