189 8069 5689

golang中Any类型使用及空接口中类型查询-创新互联

golang中Any类型使用及类型查询

1.Any类型

GO语言中任何对象实例都满足空接口interface{},空接口可以接口任何值

创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为大关企业提供专业的成都做网站、成都网站制作、成都外贸网站建设大关网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
var v1 interface{} = 1      
    var v2 interface{} = "abc"   
    var v3 interface{} = 2.345
    var v4 interface{} = make(map[..]...)
    ....

2.1 关于空接口的类型查询方式一,使用ok

package main

    import "fmt"

    //空接口可以接受任何值
    //interface { }

    func main()  {
        var v1 interface{ }
        v1 = 6.78

//赋值一个变量v判断其类型是否为float64,是则为真,否则,为假
        if v, ok := v1.(float64);ok{
            fmt.Println(v, ok)
        }else {
            fmt.Println(v,ok)
        }

    }

2.2 关于空接口类型查询方式二,switch语句结合 var.type()

package main

import "fmt"

//空接口可以接受任何值
//interface { }

func main()  {
    var v1 interface{ }
    v1 = "张三"

    switch v1.(type) {
    case float32:

    case float64:
        fmt.Println("this is float64 type")
    case string:
        fmt.Println("this is string type")

    }

}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页标题:golang中Any类型使用及空接口中类型查询-创新互联
地址分享:http://cdxtjz.com/article/dcoioi.html

其他资讯