我想知道这个打印的东西。您可能会注意到此代码概念与此代码概念不同。
print(1, 2, 3, 4, 5, separator: "...")
//1...2...3...4...5
和
for n in 1...5 {
print(n, separator: " ", terminator: "...")
}
// 1...2...3...4...5...
我认为分隔符应该是为每个项目添加文本的空间,但终止符默认为已知的换行符,如果您也使用 swift 游乐场,您可以看到换行符。如果将这三个句点放在分隔符上,则无法显示"..."。在循环上,但打印可以。我对这段代码有点困惑。所以让我知道这段代码。可能我在这些事情上错了。我正在学习 Swift。
如print(_:separator:terminator:)
方法所述:
分隔符:在每个项目之间打印的字符串。
终止符:打印完所有项目后要打印的字符串。
这是每次调用print
。因此,仅当您向print
提供多个值时,separator
才有用。
print(arg1, arg2, ..., argN, separator: someSeparator, terminator: someTerminator)
这导致:
arg1 someSeparator arg2 someSeparator ...someSeparator argN someTerminator
(但没有我为清楚起见添加的空格)。
当您只打印一个值时,例如在问题中的代码中,根本不使用separator
,因此您只会在打印的每个值的末尾看到终止符。
代码如下:
print(1, 2, 3, 4, 5, separator: " ", terminator: "...")
将给出您似乎正在寻找的结果:
1 2 3 4 5...
separator
是在给定打印的数值之间要打印的文本。terminator
是打印完所有值后要打印的文本。所以:
print(val1, val2, val3, ..., separator: "<SEP>", terminator: "<TERM>")
将打印
val1<SEP>val2<SEP>val3<SEP>...<TERM>
如果只给print
一个值,那么它不会打印分隔符,因为它没有什么可分离的!(不要将一个值与自身分开)。但它将打印给定的终止符(或默认终止符,如果未提供)。
因此,
print(1, 2, 3, 4, 5, separator: "...")
//1...2...3...4...5
将打印值 1、2、3、4、5,以"..."并由默认终止符终止, 和
for n in 1...5 {
print(n, separator: " ", terminator: "...")
}
// 1...2...3...4...5...
将打印从 1 到 5 的每个数字,每个数字后...
文本,以及 不会打印分隔符,因为打印只给定一个要打印的值。