Go语言类型switch
switch还可以用于判断变量类型。使用方式为T.(type),即在变量后加上.(type)。见代码:
package main import ( "fmt" ) func main() { var a interface{} a = "abc" switch t := a.(type) { case string: fmt.Printf("string %s\n", t) case int: fmt.Printf("int %d\n", t) default: fmt.Printf("unexpected type %T", t) } }
输出结果为:
string abc
如果将上面的:
var a interface{}
a = "abc"
这两句,合成一句:
a := "abc"
编译就会出错:
cannot type switch on non-interface value a (type string)
不能在一个非接口类型的变量上使用type switch。
也就是说 type switch只能用于接口的变量。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。