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号
友情链接: 成都品牌网站设计 公司网站建设 成都营销网站建设 网站建设推广 高端定制网站设计 成都网站建设 温江网站设计 成都网站建设 重庆网站设计 成都网站建设公司 营销网站建设 成都网站建设公司 四川成都网站制作 自适应网站建设 H5网站制作 达州网站设计 成都模版网站建设 品牌网站建设 成都响应式网站建设公司 网站制作公司 成都h5网站建设 成都网站设计