首页 > 文章列表 > Golang字符转整型的完整指南

Golang字符转整型的完整指南

go语言 字符串转整型
456 2024-04-23

在 Go 语言中,字符转整数的方法包括:使用 strconv.Atoi 函数将字符串转换为整数。使用 strconv.ParseInt 函数将字符串转换为指定基数的整数。使用 Unicode 字面值表示单个 Unicode 字符,并将其转换为整数。

Golang字符转整型的完整指南

Go 语言字符转整型的完整指南

在 Go 语言中,字符类型(rune)可以表示 Unicode 字符,而整数类型(intint8 等)则表示数值。因此,在某些情况下,需要将字符转换为整数。

字符串转整数

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)