swift函數(shù)

函數(shù)

函數(shù)是一段完成特定任務(wù)的獨(dú)立代碼片段。你可以通過(guò)給函數(shù)命名來(lái)標(biāo)識(shí)某個(gè)函數(shù)的功能,這個(gè)名字可以被用來(lái)在需要的時(shí)候"調(diào)用"這個(gè)函數(shù)來(lái)完成它的任務(wù)。

Swift 統(tǒng)一的函數(shù)語(yǔ)法非常的靈活,可以用來(lái)表示任何函數(shù),包括從最簡(jiǎn)單的沒有參數(shù)名字的 C 風(fēng)格函數(shù),到復(fù)雜的帶局部和外部參數(shù)名的 Objective-C 風(fēng)格函數(shù)。參數(shù)可以提供默認(rèn)值,以簡(jiǎn)化函數(shù)調(diào)用。參數(shù)也可以既當(dāng)做傳入?yún)?shù),也當(dāng)做傳出參數(shù),也就是說(shuō),一旦函數(shù)執(zhí)行結(jié)束,傳入的參數(shù)值將被修改。

當(dāng)你定義一個(gè)函數(shù)時(shí),你可以定義一個(gè)或多個(gè)有名字和類型的值,作為函數(shù)的輸入,稱為參數(shù),也可以定義某種類型的值作為函數(shù)執(zhí)行結(jié)束時(shí)的輸出,稱為返回類型。

每個(gè)函數(shù)有個(gè)函數(shù)名,用來(lái)描述函數(shù)執(zhí)行的任務(wù)。要使用一個(gè)函數(shù)時(shí),用函數(shù)名來(lái)“調(diào)用”這個(gè)函數(shù),并傳給它匹配的輸入值(稱作 實(shí)參 )。函數(shù)的實(shí)參必須與函數(shù)參數(shù)表里參數(shù)的順序一致。

下面是幾種函數(shù)類型的形式
//無(wú)參無(wú)返回值
func introduceMyself(){
    print("My name is 不在線,I'm pleased to meet you")
}
introduceMyself()

//有參無(wú)返回值
func learnSwift(name : String){
    print("\(name) learn Swift now")
}
learnSwift(name: "不在線")

//有參數(shù)有返回值
func toGreet(person : String) -> (String){
    return person + " Hello"
}
toGreet(person: "ZhangSan ")

//多參,有一個(gè)返回值
func calculationAddition(a:Int , b:Int) -> (Int)
{
    return a+b
}
calculationAddition(a: 3, b: 4)

//多參,多返回值
func calculationMethod(a:Int , b:Int) -> (Int,Int)
{
    return (a/b, a*b)
}
calculationMethod(a: 8, b: 4)

函數(shù)標(biāo)簽

解析:每個(gè)函數(shù)參數(shù)都有一個(gè)參數(shù)標(biāo)簽( argument label)以及一個(gè)參數(shù)名稱( parameter name)。參數(shù)標(biāo)簽在調(diào)用函 數(shù)的時(shí)候使用;調(diào)用的時(shí)候需要將函數(shù)的參數(shù)標(biāo)簽寫在對(duì)應(yīng)的參數(shù)前面。參數(shù)名稱在函數(shù)的實(shí)現(xiàn)中使用。默認(rèn)情況下,函數(shù)參數(shù)使用參數(shù)名稱來(lái)作為它們的參數(shù)標(biāo)簽(上面的方法都是默認(rèn)使用參數(shù)名稱來(lái)作為它們的參數(shù)標(biāo)簽)。

//函數(shù)標(biāo)簽
func addTwoInts(fristNum a: Int, secondNum b: Int) -> Int {
    // 在函數(shù)體內(nèi), fristNum和secondNum是參數(shù)標(biāo)簽 ,a和b是參數(shù)名稱,Int參數(shù)類型
    return a + b
}
addTwoInts(fristNum: 1, secondNum: 2)

如果你不希望為某個(gè)參數(shù)添加一個(gè)標(biāo)簽,可以使用一個(gè)下劃線( _)來(lái)代替一個(gè)明確的參數(shù)標(biāo)簽。

func someFunction(_ firstParameterName: Int, secondParameterName: Int) {
// 在函數(shù)體內(nèi),firstParameterName 和 secondParameterName代表參數(shù)中的第一個(gè)和第二個(gè)參數(shù)值 
}
someFunction(1, secondParameterName: 2)
如果一個(gè)參數(shù)有一個(gè)標(biāo)簽,那么在調(diào)用的時(shí)候必須使用標(biāo)簽來(lái)標(biāo)記這個(gè)參數(shù),第二個(gè)參數(shù)是默認(rèn)用參數(shù)名稱來(lái)作為它的參數(shù)標(biāo)簽
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容