Go基础_1_45 空接口
Tutorial: Go初级
Category: Go
Published: 2026-04-07 13:58:26
Views: 21
Likes: 0
Comments: 0
package main
import "fmt"
type A interface{}
type Cat struct {
color string
}
type Person struct {
name string
age int
}
func test1(a A) {
fmt.Println(a)
}
func test2(a interface{}) {
fmt.Println("--->", a)
}
func test3(slice2 []interface{}) {
for i := 0; i < len(slice2); i++ {
fmt.Printf("第%d个数据:%v\n", i+1, slice2[i])
}
}
func main() {
var a1 A = Cat{"花猫"}
var a2 A = Person{"王二狗", 30}
var a3 A = "haha"
var a4 A = 100
fmt.Println(a1)
fmt.Println(a2)
fmt.Println(a3)
fmt.Println(a4)
test1(a1)
test1(a2)
test1(3.14)
test1("Ruby")
test2(a3)
test2(1000)
map1 := make(map[string]interface{})
map1["name"] = "李小花"
map1["age"] = 30
map1["friend"] = Person{"Jerry", 18}
fmt.Println(map1)
slice1 := make([]interface{}, 0, 10)
slice1 = append(slice1, a1, a2, a3, a4, 100, "abc")
fmt.Println(slice1)
test3(slice1)
}