我对以下代码有两个问题
emptyinterface.(int)
可以返回一两个值,这个函数是怎么定义的来达到那个效果的呢?
ok
已使用短变量声明进行了两次声明,为什么在这种情况下可能?
package main
import (
"fmt"
)
func main() {
var emptyinterface interface{}
emptyinterface=4
i1:=emptyinterface.(int)
fmt.Println(i1)
i2,ok:=emptyinterface.(int)//<- how the function is defined such that it can return either 1 (i1) or 2 values (i2,ok)?
fmt.Println(i2,ok)
i3,ok:=emptyinterface.(string) //<--why I can reassign to ok, which has assign previously?
fmt.Println(i3,ok)
}
陪伴而非守候
牛魔王的故事
相关分类