gpt4 book ai didi

go - 如何拆分 .txt 文件的行并将它们添加到 Go 中的 slice 中?

转载 作者:行者123 更新时间:2023-12-01 21:13:43 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Reading a file line by line in Go

(12 个回答)


2年前关闭。




这些天我正在学习 Go,我正在尝试读取一个包含 URL 列表的文件,以便我可以向它们发送一个简单的 GET 请求。所以,我需要阅读列表,然后将列表中的行添加为 slice 中的元素。但是,我得到了一个奇怪的输出。下面是我的代码和 .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/

最佳答案

您可以使用 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 .

关于go - 如何拆分 .txt 文件的行并将它们添加到 Go 中的 slice 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61633338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com