概念簡介
從字符串中解析數字在很多程序中是一個基礎常見的任務,在Go 中是這樣處理的。
例程代碼
package main
// 內置的 `strconv` 包提供了數字解析功能。
import "strconv"
import "fmt"
func main() {
// 使用 `ParseFloat` 解析浮點數,這裏的 `64` 表示解
// 析的數的位數。
f, _ := strconv.ParseFloat("1.234", 64)
fmt.Println(f)
// 在使用 `ParseInt` 解析整型數時,例子中的參數 `0` 表
// 示自動推斷字符串所表示的數字的進製。`64` 表示返回的
// 整型數是以 64 位存儲的。
i, _ := strconv.ParseInt("123", 0, 64)
fmt.Println(i)
// `ParseInt` 會自動識別出十六進製數。
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)
}
執行&輸出
$ go run number-parsing.go
1.234
123
456
789
135
strconv.ParseInt: parsing "wat": invalid syntax
# 下麵我們將了解一下另一個常見的解析任務:URL 解析。
課程導航
學習上一篇:Go語言教程:隨機數 學習下一篇:Go語言教程:URL解析
相關資料
本例程github源代碼:https://github.com/xg-wang/gobyexample/tree/master/examples/number-parsing