91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
北京市| 青神县| 顺昌县| 钦州市| 三台县| 麻城市| 绥棱县| 高尔夫| 北辰区| 米林县| 湘潭县| 凉山| 茌平县| 兴业县| 个旧市| 阿坝县| 蒲城县| 甘德县| 夏河县| 开原市| 大理市| 罗甸县| 昭平县| 桦南县| 同江市| 古交市| 古浪县| 浪卡子县| 高邑县| 台北县| 韩城市| 崇左市| 云梦县| 伊春市| 光泽县| 鸡东县| 西和县| 辰溪县| 香河县| 临高县| 漳平市|