最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • Golang字符转整型的高效方法分享

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

    Golang字符转整型的高效方法分享

    Go 中高效字符转整型的指南

    在 Go 中,将字符转换为整型是常见任务。虽然有几种方法可以实现,但选择一种高效且易于实施的方法非常重要。

    strconv

    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]
    }
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » Golang字符转整型的高效方法分享
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 294稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情