一尘不染

在go / golang中代表换行符的最可移植/跨平台方式是什么?

go

目前,为了表示go程序中的换行符,我使用\n。例如:

package main

import "fmt"


func main() {
    fmt.Printf("%d is %s \n", 'U', string(85))
}

…将产生85 is U一个换行符。

但是,这似乎并不是跨平台的。在其他语言中,PHP用全局常量(PHP_EOL)表示这一点。是\n代表在GO /
golang一个跨平台的具体方式换行的路吗?


阅读 554

收藏
2020-07-02

共1个答案

一尘不染

我对此感到很好奇,因此决定看看究竟是做什么的fmt.Printlnhttp://golang.org/src/pkg/fmt/print.go

如果您滚动到最底部,你会看到一个if addnewline地方\n,总是使用。我很难说这是否是最“跨平台”的方式,而go最初在早期就与linux绑定在一起,但这就是std lib的用途。

我最初只是建议使用,fmt.Fprintln并且这可能仍然有效,好像当前的功能不合适,可以提交一个错误,然后仅需要使用最新的Go工具链来编译代码。

2020-07-02