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) }