为什么我不能直接在函数中返回Void

时间:2016-01-06 04:50:30

标签: swift function return void

在test1()中,它可以返回test()成功返回的Void。但在test2()中,错误抛出。为什么? //:游乐场 - 名词:人们可以玩的地方 导入UIKit 导入AVFoundation func test() - > Void {     打印(“你好”) } func test1(){// print Hello     返回测试() } func test2(){//抛出错误     返回虚空 }

2 个答案:

答案 0 :(得分:12)

Void是一种类型,因此无法返回。相反,你想要返回Void的表示,这是一个空元组。

因此,请尝试这样做,这将编译:

func test()->Void{
    print("Hello")
}

func test1(){//print Hello
    return test()
}

func test2()->Void{// throw error
    return ()
}

test1()

有关为什么可以在期望返回Void类型的函数中返回空样式的原因的更多信息,请在以下链接中搜索void:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html

答案 1 :(得分:1)

在test1()中你没有返回Void,你的返回是函数test()返回void本身;

void function test(){
    print("Hello");
}

void function test1(){
       //print Hello
    return test();
}

/* you can not return a type
     func test2(){// throw error
          return Void; 
     } */

void function test2(){
        //code or not
      return test(); //calling test function returns void.
}

我希望这会有所帮助!