Go 空接口类型,存储任意类型数据

demo.go(空接口,存储任意类型数据):

package main

import "fmt"

func main() {
	// 定义空接口类型变量 (可以接收任意类型的数据。相当于所有类型都实现了空接口)
	var i interface{}
	fmt.Printf("%T\n", i)  // <nil>

	i = 10   // int
	fmt.Println(i)  // 10
	fmt.Printf("%T\n", i)  // int
	// int(i) + 20 // 会报错。 接口不能直接参与运算(类型转换),需要使用类型断言。

	i = 3.14   // float64
	fmt.Println(i)  // 3.14
	fmt.Printf("%T\n", i)  // float64

	i = "哈哈"  // string
	fmt.Println(i)  // 哈哈
	fmt.Printf("%T\n", i)  // string
}

猜你喜欢

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