Swift 函數(shù)的參數(shù)和返回值
Swift 4用戶定義的函數(shù)可以具有多個(gè)參數(shù)和不同的返回值。愛掏網(wǎng) - it200.com
沒有參數(shù)和返回值的Swift 4函數(shù)不接收任何輸入并返回值。愛掏網(wǎng) - it200.com
語(yǔ)法
func funcname() {
//statements
}
OR
func funcname() -> () {
//statements
}
OR
func funcname() -> Void {
//statements
}
示例
func greeting() {
print("Good Morning Everyone")
}
greeting()
輸出:
Good Morning Everyone
b) 沒有參數(shù)但有返回值的函數(shù)
示例
func greeting() -> String {
return "Good Morning Everyone"
}
let msg = greeting()
print(msg)
輸出:
Good Morning Everyone
在上面的程序中,返回類型是String。愛掏網(wǎng) - it200.com現(xiàn)在,語(yǔ)句必須從函數(shù)內(nèi)部的語(yǔ)句返回一個(gè)字符串,否則會(huì)出錯(cuò)。愛掏網(wǎng) - it200.com
return關(guān)鍵字將程序的控制權(quán)從函數(shù)體轉(zhuǎn)移到函數(shù)調(diào)用處。愛掏網(wǎng) - it200.com要從函數(shù)中返回值,我們必須在return關(guān)鍵字之后添加值。愛掏網(wǎng) - it200.com
c) 帶有參數(shù)但沒有返回值的函數(shù)
在Swift 4中,有些函數(shù)有參數(shù)但沒有返回值。愛掏網(wǎng) - it200.com參數(shù)用于在函數(shù)中獲取輸入。愛掏網(wǎng) - it200.com
語(yǔ)法
func funcname(parameterName:Type) {
//statements
}
示例
func greeting(msg:String) {
print(msg)
}
greeting(msg: "Good Morning Everyone")
輸出:
Good Morning Everyone
在上面的程序中,該函數(shù)接受一個(gè) String 類型的單個(gè)參數(shù)。愛掏網(wǎng) - it200.com參數(shù)只能在函數(shù)內(nèi)部使用。愛掏網(wǎng) - it200.com您可以通過將字符串值和參數(shù)名一起傳遞給函數(shù)來調(diào)用該函數(shù),如 greeting(msg: “大家早上好”) 。愛掏網(wǎng) - it200.commsg參數(shù)名只在函數(shù)內(nèi)部可見,如 greeting() 。愛掏網(wǎng) - it200.com
之后,語(yǔ)句print(msg)輸出”大家早上好”。愛掏網(wǎng) - it200.com
d) 帶有參數(shù)和返回值的函數(shù)
當(dāng)一個(gè)函數(shù)接受參數(shù)并返回值時(shí)。愛掏網(wǎng) - it200.com
語(yǔ)法
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
你可以看到,在上面的程序中,該函數(shù)接受一個(gè)類型為 String 的單個(gè)參數(shù),并返回一個(gè)類型為 Welcome to JavaTpoint Ajeet 的值,該值的類型也是 String 。愛掏網(wǎng) - it200.com
e)具有多個(gè)參數(shù)和多個(gè)返回值的函數(shù)
這些函數(shù)用于接受由逗號(hào)分隔的多個(gè)參數(shù),并返回多個(gè)返回值。愛掏網(wǎng) - it200.com在Swift中,元組被用于返回多個(gè)值。愛掏網(wǎng) - it200.com
語(yǔ)法
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.")
輸出結(jié)果:
Hello Mr./Ms.Ajeet
You have 20 coins left in your wallet.