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
}