这些天我正在学习 Go,我正在尝试读取一个包含 URL 列表的文件,以便我可以向它们发送一个简单的 GET 请求。所以,我需要阅读列表,然后将列表中的行添加为切片中的元素。但是,我得到了一个奇怪的输出。下面是我的代码和 .txt 文件。代码:func openFile() { urls := make([]string, 3) for _, filename := range os.Args[1:] { urlsBytes, err := ioutil.ReadFile(filename) if err != nil { fmt.Println(err) } for _, line := range strings.Split(string(urlsBytes), "\n") { urls = append(urls, line) } } fmt.Println(urls)}文件:https://www.youtube.com/https://www.facebook.com/https://aws.amazon.com/输出:go run Main.go test2.txt https://aws.amazon.com/]/m/
1 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
您可以bufio.Scanner用于轻松读取数据,例如换行符分隔的文本文件。
file, err := os.Open("lines.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
sc := bufio.NewScanner(file)
lines := make([]string, 0)
// Read through 'tokens' until an EOF is encountered.
for sc.Scan() {
lines = append(lines, sc.Text())
}
if err := sc.Err(); err != nil {
log.Fatal(err)
}
这也适用于分隔文本上的其他流,因为bufio.NewScanner接受io.Reader.
- 1 回答
- 0 关注
- 147 浏览
添加回答
举报
0/150
提交
取消