這些天我正在學(xué)習(xí) Go,我正在嘗試讀取一個包含 URL 列表的文件,以便我可以向它們發(fā)送一個簡單的 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貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個贊
您可以bufio.Scanner用于輕松讀取數(shù)據(jù),例如換行符分隔的文本文件。
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)
}
這也適用于分隔文本上的其他流,因?yàn)閎ufio.NewScanner接受io.Reader.
- 1 回答
- 0 關(guān)注
- 168 瀏覽
添加回答
舉報
0/150
提交
取消