Go 类型断言

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类型")
	}
}

猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/88715600