Golang字符串解析成數字


package main
import (
    "strconv"
    "fmt"
)
func main() {
    // 使用ParseFloat解析浮點數,64是說明使用多少位
    // 精度來解析
    f, _ := strconv.ParseFloat("1.234", 64)
    fmt.Println(f)

    // 對於ParseInt函數,0 表示從字符串推斷整型進制,
    // 則表示返回結果的位數
    i, _ := strconv.ParseInt("123", 0, 64)
    fmt.Println(i)

    // ParseInt能夠解析出16進制的數字
    d, _ := strconv.ParseInt("0x1c8", 0, 64)
    fmt.Println(d)

    // 還可以使用ParseUint函數
    u, _ := strconv.ParseUint("789", 0, 64)
    fmt.Println(u)

    // Atoi是解析10進制整型的快捷方法
    k, _ := strconv.Atoi("135")
    fmt.Println(k)

    // 解析函數在遇到無法解析的輸入時,會返回錯誤
    _, e := strconv.Atoi("wat")
    fmt.Println(e)
}
1.234
123
456
789
135
strconv.Atoi: parsing "wat": invalid syntax
    //轉換為字符串后追加到字節數組
    slice := make([]byte, 0, 1024)
    slice = strconv.AppendBool(slice, true)
    //第二個數為要追加的數,第3個為指定10進制方式追加
    slice = strconv.AppendInt(slice, 1234, 10)
    slice = strconv.AppendQuote(slice, "abcgohello")

    fmt.Println("slice = ", string(slice)) //轉換string后再打印 //slice =  true1234"abcgohello"

    //字符串轉其它類型
    var flag bool
    var err error
    flag, err = strconv.ParseBool("true")
    if err == nil {
        fmt.Println("flag = ", flag)  //flag =  true
    } else {
        fmt.Println("err = ", err)
    }

 


免責聲明!

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



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