📜  Swift函数参数和返回值

📅  最后修改于: 2021-01-11 07:45:48             🧑  作者: Mango

Swift函数参数和返回值

Swift 4用户定义的函数可以具有多个参数和不同的返回值。

a)没有参数且没有返回值的函数

没有参数且没有返回值的Swift 4函数不会接受任何输入和返回值。

句法:

func funcname() {
    //statements
}
OR
func funcname() -> () {
    //statements
}
OR
func funcname() -> Void {
    //statements
}

例:

 func greeting() {
    print("Good Morning Everyone")
}
greeting()

输出:

Good Morning Everyone

b)没有参数但具有返回值的函数

例:

func greeting() -> String {
    return "Good Morning Everyone"
}
let msg = greeting()
print(msg)

输出:

Good Morning Everyone

在上面的程序中,返回类型为String。现在,该语句必须从函数内部的语句返回一个字符串,否则将产生错误。

return关键字将程序的控制权从函数主体转移到函数调用。要从该函数返回值,我们必须在return关键字之后添加值。

c)具有参数但没有返回值的函数

在Swift 4中,某些函数具有参数,但没有返回值。参数用于在函数输入。

句法:

func funcname(parameterName:Type) {
    //statements
}

例:

func greeting(msg:String) {
    print(msg)
}
greeting(msg: "Good Morning Everyone")

输出:

Good Morning Everyone

在上述程序中,该函数接受String类型的单个参数。该参数只能在函数内部使用。您可以通过向函数传递一个带有参数名称的字符串值来调用该函数(msg:“ Good Morning Evryone”) 。 msg参数名称仅在函数greeting()内部可见。

之后,语句print(msg)给出输出Good Morning Everyone。

d)具有参数和返回值的函数

当函数接受参数并返回值时。

句法:

func funcname(parameterName:Type) -> ReturnType {
    //statements
}

例:

func greeting(name:String) -> String {
    return "Welcome to JavaTpoint " + name
}
let msg = greeting(name: "Ajeet")
print(msg)

输出:

Welcome to JavaTpoint Ajeet

你可以看到,在上面的程序中,函数接受一个String类型的单个参数,并且也返回值欢迎String类型的JavaTpoint Ajeet。

e)具有多个参数和多个返回值的函数

这些函数用于采用逗号分隔的多个参数,并返回多个返回值。在Swift中,元组用于返回多个值。

句法:

func funcname(parameterName:Type, parameterName2:Type ,...) -> (ReturnType, ReturnType...) {
    //statements
} 

例:

func greeting(name:String, coin:Int) -> (String, Int) {
    
    let msg = "Hello Mr./Ms." + name
    var userCoin = coin
    if coin < 0 {
            userCoin = 0
    }
    return (msg, userCoin)
}
let msg = greeting(name: "Ajeet", coin: 20)
print(msg.0)
print("You have \(msg.1) coins left in your wallet.")

输出:

Hello Mr./Ms.Ajeet
You have 20 coins left in your wallet.