溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

golang中Any類型使用及空接口中類型查詢

發(fā)布時(shí)間:2020-06-24 21:06:46 來(lái)源:網(wǎng)絡(luò) 閱讀:1638 作者:PowerMichael 欄目:編程語(yǔ)言

golang中Any類型使用及類型查詢

1.Any類型

GO語(yǔ)言中任何對(duì)象實(shí)例都滿足空接口interface{},空接口可以接口任何值

var v1 interface{} = 1      
    var v2 interface{} = "abc"   
    var v3 interface{} = 2.345
    var v4 interface{} = make(map[..]...)
    ....

2.1 關(guān)于空接口的類型查詢方式一,使用ok

    package main

    import "fmt"

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

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

//賦值一個(gè)變量v判斷其類型是否為float64,是則為真,否則,為假
        if v, ok := v1.(float64);ok{
            fmt.Println(v, ok)
        }else {
            fmt.Println(v,ok)
        }

    }

2.2 關(guān)于空接口類型查詢方式二,switch語(yǔ)句結(jié)合 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")

    }

}
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI