在Go 中將Int32 轉換為String:超越Int 和Int64
在Go 中,無需將int32 轉換為字串即可完成用於到int 或int64 的中間轉換。以下是實現此目的的幾種方法:
1。使用 fmt.Sprint(i)
s := fmt.Sprint(i)
此方法提供了一種簡單的單行解。
2.建立自訂轉換函數
為了獲得最佳效能,可以建立自訂轉換函數:
func String(n int32) string { // Implementation details return string(buf[pos:]) }
3.使用strconv.Itoa(int(i))
s := strconv.Itoa(int(i))
雖然這種方法需要先轉換為int,但它提供了相對快速的解決方案。
4.使用strconv.FormatInt(int64(i), 10)
s := strconv.FormatInt(int64(i), 10)
此方法執行速度比strconv.Itoa 更快,因為它直接將int32 轉換為字串。
效能比較
為了比較這些方法的效率,進行了5000 萬次迭代的基準測試:
Method | Time Taken |
---|---|
String | 5.5923198s |
String2 | 5.5923199s |
strconv.FormatInt(int64(i), 10) | 5.9133382s |
strconv.Itoa(int(i)) | 5.9763418s |
fmt.Sprint(i) | 13.5697761s |
從結果中可以迭代的基準測試:
從結果中可以迭代看出,自訂轉換函數String 提供了最快的執行時間。以上是如何在 Go 中將 Int32 轉換為字串:哪種方法最快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!