Go 示例: 数字解析

从字符串中解析数字是许多程序中一项基本但常见的任务;以下是在 Go 中如何实现它。

package main

内置包 strconv 提供了数字解析功能。

import (
    "fmt"
    "strconv"
)
func main() {

使用 ParseFloat,此 64 表示要解析的精度位数。

    f, _ := strconv.ParseFloat("1.234", 64)
    fmt.Println(f)

对于 ParseInt0 表示从字符串推断基数。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 是用于基本十进制 int 解析的便捷函数。

    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。

下一个示例:URL 解析.