简介
本实验的目的是演示如何在 Go 语言中从字符串解析数字。
本实验的目的是演示如何在 Go 语言中从字符串解析数字。
在许多程序中,从字符串解析数字是一项常见的任务。本实验要求你使用内置的 strconv 包从字符串中解析不同类型的数字。
strconv 包从字符串中解析数字。ParseFloat 解析浮点数。ParseInt 解析整数。ParseInt 解析十六进制格式的数字。ParseUint 解析无符号整数。Atoi 解析十进制整数。$ go run number-parsing.go
1.234
123
456
789
135
strconv.ParseInt: 解析 "wat": 语法无效
## 接下来我们将看看另一个常见的解析任务:URL。
以下是完整代码:
// 从字符串解析数字是许多程序中一项基本但常见的任务
// 以下是在 Go 语言中实现的方法。
package main
// 内置的 `strconv` 包提供数字
// 解析功能。
import (
"fmt"
"strconv"
)
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` 是用于基本十进制 `int` 解析的便捷函数。
k, _ := strconv.Atoi("135")
fmt.Println(k)
// 解析函数在输入错误时返回错误。
_, e := strconv.Atoi("wat")
fmt.Println(e)
}
本实验演示了如何使用 strconv 包在 Go 语言中从字符串解析不同类型的数字。通过完成本实验,你应该对如何在 Go 程序中处理数字解析有更好的理解。