让我们来看看这个功能:
func nothing(){
return
}
它不返回值,但是我们可以写return
语句如何处理Swift?场景背后会发生什么return
没有值返回0或任何值来处理这种情况?
答案 0 :(得分:6)
以下签名都会返回空元组()
的实例(typealased为Void
)。
func implicitlyReturnEmptyTuple() { }
func explicitlyReturnEmptyTuple() {
return ()
}
func explicitlyReturnEmptyTupleAlt() {
return
}
在上面三个中,函数签名中函数的返回类型已被省略,在这种情况下,它被隐式设置为空元组类型()
。即,以下类似于上面的三个
func implicitlyReturnEmptyTuple() -> () { }
func explicitlyReturnEmptyTuple() -> () {
return ()
}
func explicitlyReturnEmptyTupleAlt() -> () {
return
}
关于您的评论(关于我们未明确返回implicitlyReturnEmptyTuple()
的{{1}}的正文);来自the Language Guide - Functions: Functions without return values:
定义返回类型不需要函数。这是一个版本 打印的
()
函数,称为sayHello(_:)
它自己的sayGoodbye(_:)
值而不是返回它:String
...
注意强> 的
严格来说,
func sayGoodbye(personName: String) { print("Goodbye, \(personName)!") }
函数仍会返回 值,即使没有定义返回值。功能没有 定义的返回类型返回类型sayGoodbye(_:)
的特殊值。这是 只是一个空元组,实际上是一个零元素的元组,可以 写成Void
。
因此,我们可能仅针对()
- return(return ...
- return)函数省略()
,在这种情况下,Void
实例将被隐含地退回。
答案 1 :(得分:5)
在这种情况下,return
仅表示"离开功能"。
答案 2 :(得分:0)