1
pennai 2022-04-11 00:05:19 +08:00 1
啥语言啊?开源的你直接点击源代码看看就行了
|
2
neoblackcap 2022-04-11 03:26:10 +08:00 1
当然有区别,你自己手动输入换行符可是不会根据平台不一样换行的。
Windows 下,换行可是 CRLF(\r\n) |
3
yaoyao1128 2022-04-11 06:55:31 +08:00 via iPhone 1
println = print + newline
https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/io/PrintStream.java Line 891 to 1060 |
4
yaoyao1128 2022-04-11 07:04:37 +08:00 via iPhone 1
|
5
yin1999 2022-04-11 07:06:19 +08:00 via Android 1
可以看这里: https://cs.opensource.google/go/go/+/refs/tags/go1.18:src/fmt/print.go;drc=refs%2Ftags%2Fgo1.18;l=1164
这两种只有在传入字符串参数的时候会有不同 |
6
yin1999 2022-04-11 07:08:11 +08:00 via Android 1
@yin1999 没打完,print 连续传入两个字符串参数时,输出的字符串之间是无空格的,而 println 在输出两个连续的字符串之间是有空格的,其它没有区别
|
7
yolee599 2022-04-11 09:06:28 +08:00 2
有区别,println 会根据不同的平台决定添加 \r\n 还是 \n 。
|
8
wudi77 2022-04-11 11:28:52 +08:00 1
System.lineSeparator()
|
9
westoy 2022-04-11 11:57:26 +08:00 3
@yolee599
不,go 的 println 没做 CRLF , 直接\n 的 这是一个拖到 win10 之后就不处理的 feature https://github.com/golang/go/issues/28822 |
10
timpaik 2022-04-11 12:49:45 +08:00 via Android 1
有些 println 还会主动刷新一下缓冲区?
|
11
WuSiYu 2022-04-11 21:07:55 +08:00 via iPhone 1
有的语言( or 实现)是集成了换行和刷新缓冲,比如 C++的 std::endl ,如果输出是重定向到了文件的话,可能会导致执行慢不少,打 acm 应该都有体会
|