2 回答

TA貢獻1841條經(jīng)驗 獲得超3個贊
你只想要rune(i). 鑄造是通過type(x).
類型斷言是不同的。當(dāng)您需要從不太具體的類型(如interface{})轉(zhuǎn)換為更具體的類型時,您可以使用類型斷言。此外,在編譯時檢查強制轉(zhuǎn)換,其中類型斷言發(fā)生在運行時。
以下是您如何使用類型斷言:
var (
x interface{}
y int
z string
)
x = 3
// x is now essentially boxed. Its type is interface{}, but it contains an int.
// This is somewhat analogous to the Object type in other languages
// (though not exactly).
y = x.(int) // succeeds
z = x.(string) // compiles, but fails at runtime

TA貢獻1864條經(jīng)驗 獲得超6個贊
在 Go 中,你想做一個轉(zhuǎn)換。
轉(zhuǎn)換是形式為
T(x)
whereT
is a type andx
is an expression that can convert to type 的表達式T
。Conversion = Type "(" Expression ")" .在以下任何一種情況下,非常量值
x
都可以轉(zhuǎn)換為類型T
:
x
可分配給T
。
x
的類型并T
具有相同的基礎(chǔ)類型。
x
的類型并且T
是未命名的指針類型,并且它們的指針基類型具有相同的底層類型。
x
的類型并且T
都是整數(shù)或浮點類型。
x
的類型 和T
都是復(fù)雜類型。
x
是整數(shù)或具有類型[]byte
或[]rune
并且T
是字符串類型。
x
是一個字符串并且T
是[]byte
或[]rune
。
你要轉(zhuǎn)換x
,類型int
,int32
或int64
以T
類型rune
,類型的別名int32
。x
的類型并且T
都是整數(shù)類型。
因此,對于您的示例,T(x)
允許并寫入.rune(x)
c = rune(i)
- 2 回答
- 0 關(guān)注
- 960 瀏覽
添加回答
舉報