go中基本數據類型轉換為string類型的方法


代碼
// 基本數據類型轉換為string類型
package main

import (
    "fmt"
    "strconv"
)

func main() {
    // 第一種方式使用fmt.Sprintf
    var v1 int = 100
    // v2的類型為float64
    var v2 = 3.14
    // v3的類型為int32
    v3 := 'm'
    var v4 bool = false
    var str string

    str = fmt.Sprintf("%d", v1)
    fmt.Printf("v1的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v1, v1, str) // v1的原值為100, 類型為int, 轉換成string類型值為"100"

    str = fmt.Sprintf("%f", v2)
    fmt.Printf("v2的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v2, v2, str) // v2的原值為3.14, 類型為float64, 轉換成string類型值為"3.140000"

    str = fmt.Sprintf("%c", v3)
    fmt.Printf("v3的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v3, v3, str) // v3的原值為109, 類型為int32, 轉換成string類型值為"m"

    str = fmt.Sprintf("%t", v4)
    fmt.Printf("v4的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v4, v4, str) // v4的原值為false, 類型為bool, 轉換成string類型值為"false"

    // 第二種方式使用strconv包的函數
    var v5 uint8 = 100
    var v6 bool = true
    var v7 int = 999999
    var v8 float32 = 3.1415926
    var v9 float64 = 3.1415926

    str = strconv.FormatUint(uint64(v5), 10)
    fmt.Printf("v5的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v5, v5, str) // v5的原值為100, 類型為uint8, 轉換成string類型值為"100"

    str = strconv.FormatBool(v6)
    fmt.Printf("v6的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v6, v6, str) // v6的原值為true, 類型為bool, 轉換成string類型值為"true"

    str = strconv.FormatInt(int64(v7), 10)
    fmt.Printf("v7的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v7, v7, str) // v7的原值為999999, 類型為int, 轉換成string類型值為"999999"

    // 注意轉換之后有精度的損失
    // 第二個參數表示轉換格式byte類型,如 'f', 'b'等
    // 第三個參數表示精度,如保留幾位小數
    // 第四個參數表示位數為int型
    str = strconv.FormatFloat(float64(v8), 'f', 10, 64)
    fmt.Printf("v8的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v8, v8, str) // v8的原值為3.1415925, 類型為float32, 轉換成string類型值為"3.1415925026"

    str = strconv.FormatFloat(v9, 'f', 10, 64)
    fmt.Printf("v8的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v9, v9, str) // v8的原值為3.1415926, 類型為float64, 轉換成string類型值為"3.1415926000"

    // 使用strconv包的Itoa函數
    // strconv.Itoa 等價於 strconv.FormatInt(int64(i), 10)
    var v10 uint8 = 127
    str = strconv.Itoa(int(v10))
    fmt.Printf("v10的原值為%v, 類型為%T, 轉換成string類型值為%q\n", v10, v10, str) // v10的原值為127, 類型為uint8, 轉換成string類型值為"127"
}
總結

查看源代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM