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

Suraj Joshi 2023年12月11日 Go Go String
  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
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

相關文章 - Go String