Swift中println和print的区别

10
printlnprint在Swift中都可以将文本打印到控制台。它们之间唯一的区别似乎是println会回到下一行,而print则不会。
例如:
println("hello world")
println("another world")

将输出以下两行:

hello world
another world

当:

print("hello")
print("world")

仅输出一行:

helloworld

print 看起来更像是C语言传统的 printf。Swift文档说明了 println 相当于 NSLog,但使用 print 的目的是什么,除了不换行之外还有其他原因吗?


1
这个命名对于来自Java的人来说非常熟悉。println中的“LN”代表“line”。 - CrimsonChris
5个回答

33
在新的Swift 2中,println已经被重命名为print,并添加了一个名为"terminator"的可选参数。
(更新于2015年9月16日,新的终止符为"")
var fruits = ["banana","orange","cherry"]

// #1
for f in fruits{
    print(f)
}

// #2
for f in fruits{
    print("\(f) ", terminator: "")
}

#1会输出

banana
orange
cherry

#2 将被打印

banana orange cherry 

由于Swift 2的发布,规范已经发生了变化,因此应将其标记为正确答案。 - Nick Sweeting
这似乎已经改变了。/// - 注意: 要打印不带尾随换行符的内容,请传递 'terminator: ""'。看起来换行符现在是默认的了,并且'appendNewLine'已被移除。 - AnthonyMDev
在新发布的Swift 2中,println已被重命名为print。不再有println,只剩下print - Michael Shang

5

这就是它的作用,当您想要在同一行上打印多个内容时使用它。


你能举个使用 print 而不是 println 的例子吗? - wigging

2

就像你所说的那样,不换行打印。有些情况下,你可能希望这样做。以下是一个简单的例子:

var arr = [1,2,3,4,5]

print("My array contains: ")
for num in arr{
    print("\(num) ")
}

1

这与Java相同,print只是打印输出,而println中的ln代表“下一行”。 它会为您创建一个新行。


你的回答已经过时了,语法已经改变,请查看Jeremy Chone的回答。 - Eric Aya

0
print 和 println 的区别在于,print 打印后光标不会跳到下一行,而 println 打印后光标会跳到下一行。

直到 Swift 2 ,这才是情况。现在语法已经改变,请参考 Jeremy Chone 的答案。 - Eric Aya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接