在 go 语言中,字符转整数的方法包括:使用 strconv.atoi 函数将字符串转换为整数。使用 strconv.parseint 函数将字符串转换为指定基数的整数。使用 unicode 字面值表示单个 unicode 字符,并将其转换为整数。
Go 语言字符转整型的完整指南
在 Go 语言中,字符类型(rune
)可以表示 Unicode 字符,而整数类型(int
、int8
等)则表示数值。因此,在某些情况下,需要将字符转换为整数。
字符串转整数
Atoi
strconv.Atoi
函数将字符串转换为整数。
import (
"fmt"
"strconv"
)
func main() {
str := "1234"
n, err := strconv.Atoi(str)
if err != nil {
fmt.Println(err)
} else {
fmt.Println("Int:", n)
}
}
输出:
Int: 1234
ParseInt
strconv.ParseInt
函数将字符串转换为指定基数的整数。
n, err := strconv.ParseInt(str, 10, 64) // 10 为十进制基数,64 为位数
单个字符转整数
用 Unicode 字面值
Unicode 字面值可以表示单个 Unicode 字符。
r := '1'
n := int(r - '0')
实战案例
在处理用户输入或解析其他数据时,需要将字符转换为整数的情况很常见。例如:
从命令行读取整数
fmt.Println("请输入一个整数:")
var n int
fmt.Scan(&n) // 从 stdin 读入并解析为整数
处理 JSON 数据
type Data struct {
Age int `json:"age"`
}
json.Unmarshal(data, &d) // JSON 数据反序列化为结构体
解析文件路径
path := "path/to/file.txt"
size := path[len(path)-5:] // 获取文件大小部分
n, err := strconv.Atoi(size)