demo.go(类型断言):
package main
import "fmt"
func main() {
// 定义空接口类型变量 (可以接收任意类型的数据)
var i interface{}
i = 10 // 存放int类型数据
// int(i) + 20 // 会报错。 接口不能直接参与运算(类型转换),需要使用类型断言。
// 类型断言
value, ok := i.(int) // 断言接口i是否是int类型
if ok {
sum := value + 20 // 类型断言返回的value才可以参与运算
fmt.Println(sum) // 30
} else {
fmt.Println("不是int类型")
}
}