笔记 - 接口interface
package main
import "fmt"
func main() {
// 接口可以进行嵌套
// 空接口 不包含任何的方法,所有的类型都实现了空接口,因此空接口可以存储人意类型的数值
// fmt包下的Print系列函数: 采用空接口的形式传递
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)
// map容器的使用
map1 := make(map[string]interface{})
map1["name"] = "wang"
map1["age"] = 30
fmt.Println(map1)
// 切片的使用
slice1 := make([]interface{}, 0, 10)
slice1 = append(slice1, a1, a2, a3, a4, 100, "abc")
fmt.Println(slice1)
}
type Cat struct {
name string
}
type Person struct {
name string
age int
}
func test1(a A) {
fmt.Println(a)
}
// 匿名的空接口作为参数
func test2(a interface{}) {
fmt.Println(a)
}
type A interface {
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: