go 中将字符高效转换为整型的指南:使用 strconv.parseint() 函数,提供要转换的字符串和基数。使用 fmt.scanf() 函数,指定格式化字符串以读取指定格式的数据。实战案例:使用 strconv.parseint() 逐行读取文件并提取整数值。

Go 中高效字符转整型的指南
在 Go 中,将字符转换为整型是常见任务。虽然有几种方法可以实现,但选择一种高效且易于实施的方法非常重要。
strconv
立即学习“go语言免费学习笔记(深入)”;
strconv 包提供了一个名为 ParseInt 的函数,可用于将字符串转换为 int64。此函数接受要转换的字符串和要使用的基数。
import (
"strconv"
)
func main() {
str := "123"
// 将字符串转换为 int64
num, err := strconv.ParseInt(str, 10, 64)
if err != nil {
// 处理错误
}
fmt.Println(num) // 输出:123
}fmt
fmt 包还提供了 Scanf 函数,它可以从字符串中读取指定格式的数据。
import (
"fmt"
)
func main() {
str := "123"
var num int64
_, err := fmt.Scanf(str, "%d", &num)
if err != nil {
// 处理错误
}
fmt.Println(num) // 输出:123
}实战案例
假设我们有一个包含单词和整数值的文件,并且我们希望将整数值提取到 slice 中:
apple 1 banana 2 cherry 3
我们可以使用 bufio 包来逐行读取文件,然后使用 strconv 或 fmt 将行中整数值转换为 int:
package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
func main() {
f, err := os.Open("values.txt")
if err != nil {
// 处理错误
}
defer f.Close()
var values []int
scanner := bufio.NewScanner(f)
for scanner.Scan() {
line := scanner.Text()
parts := strings.Split(line, " ")
if len(parts) == 2 {
num, err := strconv.ParseInt(parts[1], 10, 32)
if err != nil {
// 处理错误
}
values = append(values, int(num))
}
}
if err := scanner.Err(); err != nil {
// 处理错误
}
fmt.Println(values) // 输出:[1 2 3]
}以上就是Golang字符转整型的高效方法分享的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号