📅  最后修改于: 2021-01-11 07:45:48             🧑  作者: Mango
Swift 4用户定义的函数可以具有多个参数和不同的返回值。
没有参数且没有返回值的Swift 4函数不会接受任何输入和返回值。
func funcname() {
//statements
}
OR
func funcname() -> () {
//statements
}
OR
func funcname() -> Void {
//statements
}
func greeting() {
print("Good Morning Everyone")
}
greeting()
输出:
Good Morning Everyone
func greeting() -> String {
return "Good Morning Everyone"
}
let msg = greeting()
print(msg)
输出:
Good Morning Everyone
在上面的程序中,返回类型为String。现在,该语句必须从函数内部的语句返回一个字符串,否则将产生错误。
return关键字将程序的控制权从函数主体转移到函数调用。要从该函数返回值,我们必须在return关键字之后添加值。
在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。
当函数接受参数并返回值时。
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。
这些函数用于采用逗号分隔的多个参数,并返回多个返回值。在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.