Go:用IO写回车

时间:2015-06-02 19:32:40

标签: go

我试图在Go中用IO.WriteString写一个文件,但是甚至写了#34; \ n"字符它不打印回车。我想也许不是回车本身我需要写的,在Windows中,如果我用Wordpad打开txt文件,显示回车符,但不在记事本中。

有关此行为的任何想法?,这是代码:

//Write
t := time.Now().Local()
src, err := os.Stat("/dir")
if err != nil {
    log.Println(err, log.Llongfile)
}
if !src.IsDir() {
    err = errors.New("Folder does not exists")
    log.Println(err, log.Llongfile)
    err = os.MkdirAll("/dir", 665)
    log.Println(err, log.Llongfile)
}
f, err := os.Create("/dir" + "/File_" + t.Format("20060102") + ".txt")
n, err := io.WriteString(f, "Hello World\n")
n, err = io.WriteString(f, "Goodbye\n")

使用此代码,txt文件中的结果为" Hello WorldGoodbye"如果我在Windows记事本中打开它。

感谢。

2 个答案:

答案 0 :(得分:3)

问题在于Windows预期回车的方式," \ n"是unix方式," \ r \ n"是Windows方式。

所以,只需更换它就可以了。

n, err := io.WriteString(f, "Hello World\r\n")

答案 1 :(得分:2)

回车符\r不是\n