目前,为了表示围棋程序中的换行符,我使用\n
.例如:
package main
import "fmt"
func main() {
fmt.Printf("%d is %s \n", 'U', string(85))
}
...将返回85 is U
,后跟换行符.
然而,这似乎并不完全是跨平台的.看看其他语言,PHP用全局常量(PHP_EOL
)表示这一点.在Go/Golang中,\n
是以跨平台的特定方式表示换行符的正确方式吗?
目前,为了表示围棋程序中的换行符,我使用\n
.例如:
package main
import "fmt"
func main() {
fmt.Printf("%d is %s \n", 'U', string(85))
}
...将返回85 is U
,后跟换行符.
然而,这似乎并不完全是跨平台的.看看其他语言,PHP用全局常量(PHP_EOL
)表示这一点.在Go/Golang中,\n
是以跨平台的特定方式表示换行符的正确方式吗?
我对此很好奇,所以决定看看fmt.Println
到底做了什么.http://golang.org/src/pkg/fmt/print.go个
如果你滚动到最下面,你会看到一个if addnewline
,其中\n
总是被使用.我很难说这是否是最"跨平台"的方式,而且Go在早期最初是与LinuxBundle 在一起的,但这就是STD库的特点.
我最初建议只使用fmt.Fprintln
,这可能仍然有效,因为如果当前的功能不合适,可能会出现错误,然后只需使用最新的GO工具链编译代码即可.