为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
牧羊人nacy 2022-06-01 16:37:43
这些天我正在学习 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.


查看完整回答
反对 回复 2022-06-01
  • 1 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信