Swift操场打印括号

时间:2016-01-23 10:30:09

标签: xcode swift

Xcode 7.2,Swift 2.0: 下面的代码打印" 15()"在调试区域。我原以为它打印" 15 1"。为什么要打印括号?

var n = 15
print(n, n /= 10)

2 个答案:

答案 0 :(得分:5)

这是因为n /= 15表达式返回Void,因为/=运算符在Swift中返回Void。我们可以从它的声明中看到:

public func /=<T : _IntegerArithmeticType>(inout lhs: T, rhs: T)

因为在Swift中,Void是空元组的别名:

/// The empty tuple type.
///
/// This is the default return type of functions for which no explicit
/// return type is specified.
public typealias Void = ()

传递给print的第二个参数/表达式打印为()

答案 1 :(得分:2)

因为赋值运算符没有返回任何内容。 它仍然执行。

请参阅此处的文档:Swift Docs

  

赋值运算符(=)不返回值,以防止它   当等于运算符(==)时被错误地使用   意图。