亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

go中interface類型轉換怎么實現

go
小億
108
2024-01-10 09:24:49
欄目: 編程語言

在Go語言中,可以使用類型斷言 .(Type) 或者 Type.(interface) 來進行接口類型轉換。

  1. 類型斷言 .(Type):通過將接口類型轉換為具體類型來操作。
var i interface{} = "Hello"
s := i.(string)
fmt.Println(s) // Output: Hello

n, ok := i.(int)
fmt.Println(n, ok) // Output: 0 false
  1. 類型轉換 Type.(interface):通過將具體類型轉換為接口類型來操作。
var s string = "Hello"
i := interface{}(s)
fmt.Println(i) // Output: Hello

需要注意的是,如果斷言失敗或者轉換失敗,會導致運行時錯誤,因此在進行類型轉換之前最好使用類型斷言來判斷接口是否可以轉換為特定的類型。可以通過使用空白標識符 _ 來忽略不需要的返回值。

var i interface{} = 42
if s, ok := i.(string); ok {
    fmt.Println(s) // Output: 42
} else {
    fmt.Println("Conversion failed")
}

另外,還可以使用 switch 語句來進行多個類型的斷言。

var i interface{} = 42

switch v := i.(type) {
case int:
    fmt.Println("Integer:", v)
case string:
    fmt.Println("String:", v)
default:
    fmt.Println("Unknown type")
}

上述代碼會根據 i 的類型進行不同的處理。如果 iint 類型,則輸出 “Integer: 42”;如果 istring 類型,則輸出 “String: 42”;否則輸出 “Unknown type”。

0
龙门县| 桃源县| 汕尾市| 蒲江县| 灵台县| 项城市| 白山市| 沽源县| 桂东县| 宣武区| 含山县| 永胜县| 巴林左旗| 江陵县| 当涂县| 南涧| 望谟县| 新乐市| 巴青县| 阳谷县| 永顺县| 陆河县| 广元市| 辉县市| 商河县| 明水县| 临沂市| 永和县| 波密县| 浦北县| 双鸭山市| 晋州市| 岑溪市| 阿鲁科尔沁旗| 昌江| 常宁市| 新宾| 连州市| 甘泉县| 宣城市| 临漳县|