中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
嘉荫县| 湟源县| 胶州市| 塔城市| 徐水县| 乌鲁木齐市| 罗甸县| 鄄城县| 沧源| 临沧市| 章丘市| 古浪县| 监利县| 酒泉市| 密山市| 友谊县| 雅江县| 长宁县| 临漳县| 调兵山市| 岐山县| 临西县| 晋城| 扬中市| 平湖市| 阿鲁科尔沁旗| 平定县| 灵寿县| 天镇县| 筠连县| 恩平市| 临泉县| 吴桥县| 河池市| 延吉市| 探索| 赤水市| 莱州市| 哈密市| 荣成市| 东光县|