如何在 Go 中將整型 int 值轉換為字串

Suraj Joshi 2023年12月11日
  1. strconv 包中的 Itoa 函式
  2. 來自 strconv 包的 FormatInt 函式
  3. Go fmt.Sprint 方法
如何在 Go 中將整型 int 值轉換為字串

資料型別確定可以分配給該型別的值以及可以對其執行的操作。資料型別的轉換是程式設計中廣泛使用的操作,並且在資料型別轉換中,從整型 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 avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相關文章 - Go String