Go的空接口

空接口(interface{})不包含任何的方法,正因为如此,所有的类型都实现了空接口,因此空接口可以存储任意类型的数值。它有点类似于C语言的void *类型。

    var v1 interface{} = 1     // 将int类型赋值给interface{}
    var v2 interface{} = "abc" // 将string类型赋值给interface{}
    var v3 interface{} = &v2   // 将*interface{}类型赋值给interface{}
    var v4 interface{} = struct{ X int }{1}
    var v5 interface{} = &struct{ X int }{1}

当函数可以接受任意的对象实例时,我们会将其声明为interface{},最典型的例子是标准库fmt中PrintXXX系列的函数,例如:
    func Printf(fmt string, args ...interface{})
    func Println(args ...interface{})

当前名称:Go的空接口
转载源于:http://www.hxwzsj.com/article/pecepo.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 定制网站建设多少钱 教育网站设计方案 成都企业网站建设公司 成都网站建设公司 成都网站设计 成都网站建设公司 成都网站设计 移动手机网站制作 成都企业网站设计 重庆手机网站建设 成都网站建设 企业网站设计 成都网站建设 成都网站设计公司 高端网站设计推广 温江网站设计 成都网站建设流程 网站设计 成都定制网站建设 成都网站建设 网站制作 成都网站建设公司