golang switch 断言
时间: 2024-03-05 17:46:49 浏览: 116
golang之反射和断言的具体使用
在Go语言中,switch语句可以用于进行条件判断和多路分支。而在使用switch语句时,我们可以使用断言(type assertion)来判断某个接口变量的具体类型。
断言的语法形式为:value.(type),其中value是一个接口类型的变量,type是具体的类型。在switch语句中,我们可以使用这种形式来判断接口变量的类型,并执行相应的代码块。
下面是一个示例代码,演示了如何在switch语句中使用断言:
```
func main() {
var i interface{} = 10
switch v := i.(type) {
case int:
fmt.Println("i 是一个整数", v)
case string:
fmt.Println("i 是一个字符串", v)
default:
fmt.Println("i 的类型未知")
}
}
```
在上面的代码中,我们定义了一个空接口变量i,并将其赋值为整数10。然后,在switch语句中使用断言来判断i的具体类型。如果i是int类型,则执行第一个case语句;如果i是string类型,则执行第二个case语句;如果i的类型未知,则执行default语句。
阅读全文