我正在使用一個包,而不是返回 a string,它返回 aeconomy.ClassId你可以在這里看到我想將economy.ClassId它只是一個像“531569319”這樣的數字字符串傳遞給一個接受字符串而不是字符串的函數,economy.ClassId所以有沒有辦法將此類型轉換為字符串或否。謝謝。我知道您可能會喜歡,strconv.FormatUint()但我會為自定義類型使用什么。
3 回答

侃侃無極
TA貢獻2051條經驗 獲得超10個贊
ClassId
被聲明為type ClassId uint64
,因此盡管 a 與 aClassId
不完全相同uint64
,但它們具有相同的基礎類型,因此您可以從一個轉換為另一個。要將值轉換x
為類型T
(在允許的情況下),請編寫T(x)
. 所以,在你的情況下:
funcThatTakesAString(strconv.FormatUint(uint64(classId), 10))

Qyouu
TA貢獻1786條經驗 獲得超11個贊
另一種可能更慣用的方法是使用fmt.Sprintf使用 Go 的格式字符串規范。
兩個例子...
下面將 classId 轉換為以 10 為基數的字符串:
classIDStr := fmt.Sprintf("%d", classId)
以下將其轉換為字符串十六進制數,af 數字為小寫:
classIDHex := fmt.Sprintf("%x", classId)
- 3 回答
- 0 關注
- 190 瀏覽
添加回答
舉報
0/150
提交
取消