笔记 - 接口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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!