如何在 Go 中將整型 int 值轉換為字串
Suraj Joshi
2023年12月11日
資料型別確定可以分配給該型別的值以及可以對其執行的操作。資料型別的轉換是程式設計中廣泛使用的操作,並且在資料型別轉換中,從整型 int 到字串值的轉換非常流行。
在將數字列印到螢幕上或將其當作字串使用時使用。Go 直接從標準庫 strconv
提供的包中直接提供字串和整數轉換。
如果我們使用從 int
到字串的簡單轉換,則整數值將被解釋為 Unicode 程式碼點。結果字串將包含程式碼點表示的字元,並以 UTF-8
編碼。
package main
import "fmt"
func main() {
s := string(97)
fmt.Printf("Value of 97 after conversion : %v\n", s)
}
輸出:
Value of 97 after conversion : a
但這是不可取的,因此我們使用一些標準函式將整數轉換為字串資料型別,下面將對此進行討論:
strconv
包中的 Itoa
函式
strconv
包實現了基本資料型別的字串表示之間的轉換。要將整數轉換為字串,我們使用來自 strconv
包的 Itoa
函式。
package main
import (
"fmt"
"strconv"
)
func main() {
x := 138
fmt.Printf("Datatype of 138 before conversion : %T\n", x)
a := strconv.Itoa(x)
fmt.Printf("Datatype of 138 after conversion : %T\n", a)
fmt.Println("Number: " + a)
}
輸出:
Datatype of 138 before conversion : int
Datatype of 138 after conversion : string
Number: 138
來自 strconv
包的 FormatInt
函式
我們使用 strconv.FormatInt
在給定的基礎上格式化 int64。FormatInt
給出上述基數中整數的字串表示形式,對於 2
<= base
<=36
,結果對數字值 >= 10
使用小寫字母 a 至 z。
package main
import (
"fmt"
"strconv"
)
func main() {
var integer_1 int64 = 31
fmt.Printf("Value of integer_1 before conversion : %v\n", integer_1)
fmt.Printf("Datatype of integer_1 before conversion : %T\n", integer_1)
var string_1 string = strconv.FormatInt(integer_1, 10)
fmt.Printf("Value of integer_1 after conversion in base 10: %v\n", string_1)
fmt.Printf("Datatype of integer_1 after conversion in base 10 : %T\n", string_1)
var string_2 string = strconv.FormatInt(integer_1, 16)
fmt.Printf("Value of integer_1 after conversion in base 16 : %v\n", string_2)
fmt.Printf("Datatype of integer_1 after conversion in base 16 : %T\n", string_2)
}
輸出:
Value of integer_1 before conversion : 31
Datatype of integer_1 before conversion : int64
Value of integer_1 after conversion in base 10: 31
Datatype of integer_1 after conversion in base 10 : string
Value of integer_1 after conversion in base 16 : 1f
Datatype of integer_1 after conversion in base 16 : string
Go fmt.Sprint
方法
當我們將一個整數傳遞給 fmt.Sprint
方法時,我們得到一個整數的字串值。
package main
import (
"fmt"
)
func main() {
x := 138
fmt.Printf("Datatype of 138 before conversion : %T\n", x)
a := fmt.Sprint(x)
fmt.Printf("Datatype of 138 after conversion : %T\n", a)
fmt.Println("Number: " + a)
}
輸出:
Datatype of 138 before conversion : int
Datatype of 138 after conversion : string
Number: 138
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn