我来了一个交叉使用.(string)方法的代码。不知道这叫什么,我很难找到它。
这是我试图理解它:
package main
import "fmt"
import "reflect"
func main(){
var b interface{}
b = "silly"
fmt.Println(reflect.TypeOf(b.(string))) // we know that b
// is a string
// at compile time
fmt.Println(reflect.TypeOf(b)) // we do not
}
结果:
string
string
但是,我认为这reflect.TypeOf发生在运行时,while.(string)会告诉编译器b确实是一个字符串,这可用于告诉编译器某个变量是某种类型。我的理解对吗?
慕沐林林
相关分类