string - 戈朗 : read text file line by line of int strings

标签 string file go int

我正在处理一个包含整数列表作为字符串的输入文件

10
..

我选择使用 ReadString('\n') 逐行阅读它方法

下面的代码

line, error := inputReader.ReadString('\n')
lineStr := string(line)

控制台输出(长度和值)

lineStr %v 4
lineStr %v 10

lineStr 的长度为“4”,可能是因为 rune 编码。

然后我尝试了几种方法将其转换为简单整数但没有成功。

Ex1

num, _ := strconv.ParseUint(lineStr, 0, 64)

输出一个数字0(应该是10)

Ex2

num, _ := strconv.Atoi(lineStr)

输出一个数字0(应该是10)

Ex3

num, _ := strconv.Atoi("10")

输出数字 10(ok)

Ex4

num, _ := strconv.ParseUint("10", 0, 64)

输出数字 10(ok)

文字中的字符串可以,但文件中的字符串不起作用,有什么问题吗?

提前致谢

最佳答案

来自文档:“ReadString 一直读取到输入中第一次出现分隔符,返回一个包含数据的字符串,直至并包括分隔符。”

因此,我建议您使用扫描仪,它可以像您期望的那样处理这种情况:

scanner := bufio.NewScanner(file)
for scanner.Scan() {
    lineStr := scanner.Text()
    num, _ := strconv.Atoi(lineStr)
    fmt.Println(lineStr, num)
}

关于string - 戈朗 : read text file line by line of int strings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28983831/

相关文章:

php - 按计算列循环时对数据排序

c# - 如何在 MVC .Net 中通过邮件发送文件(位于 URL)作为附件

string - 如何在两个非常大的文件中找到共同的字符串?

xml - 使用 Go 解析 XML 文件有一个奇怪的行为

带有服务帐户的 Google Apps API 403

go - 在 golang 中,Time.Format() 从小数部分删除尾随零

Java - 打印显示换行符的字符串

Javascript将字符串中每个单词的第一个字母大写

java - 如何删除字符串中问号(?)后面的尾随字符?

node.js - 找到node.js的css文件