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://csruizhi.cn/article/pecepo.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 成都网站设计公司 网站建设改版 重庆网站建设 成都网站制作 成都响应式网站建设 网站建设开发 成都网站建设公司 网站设计 移动手机网站制作 成都企业网站建设公司 网站设计制作报价 营销型网站建设 成都品牌网站设计 成都网站制作公司 手机网站制作 古蔺网站建设 成都做网站建设公司 重庆网站制作 成都网站建设 响应式网站设计 公司网站建设 网站建设