本文概述
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 srcmini " + name
}
let msg = greeting(name: "Ajeet")
print(msg)
输出
Welcome to srcmini Ajeet
你可以看到在上面的程序中, 该函数接受String类型的单个参数, 并且还返回值欢迎使用String类型的srcmini 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.