位置:首頁 > 高級語言 > Swift教學 > Swift函數的定義與調用

Swift函數的定義與調用

函數的定義與調用(Defining and Calling Functions)

當你定義一個函數時,你可以定義一個或多個有名字和類型的值,作為函數的輸入(稱為參數,parameters),也可以定義某種類型的值作為函數執行結束的輸出(稱為返回類型)。

每個函數有個函數名,用來描述函數執行的任務。要使用一個函數時,你用函數名“調用”,並傳給它匹配的輸入值(稱作實參,arguments)。一個函數的實參必須與函數參數表裡參數的順序一致。

在下麵例子中的函數叫做"greetingForPerson",之所以叫這個名字是因為這個函數用一個人的名字當做輸入,並返回給這個人的問候語。為了完成這個任務,你定義一個輸入參數-一個叫做 personName 的 String 值,和一個包含給這個人問候語的 String 類型的返回值:

func sayHello(personName: String) -> String {
    let greeting = "Hello, " + personName + "!"
    return greeting
}

所有的這些信息彙總起來成為函數的定義,並以 func 作為前綴。指定函數返回類型時,用返回箭頭 ->(一個連字符後跟一個右尖括號)後跟返回類型的名稱的方式來表示。

該定義描述了函數做什麼,它期望接收什麼和執行結束時它返回的結果是什麼。這樣的定義使的函數可以在彆的地方以一種清晰的方式被調用:

println(sayHello("Anna"))
// prints "Hello, Anna!"
println(sayHello("Brian"))
// prints "Hello, Brian!"

調用 sayHello 函數時,在圓括號中傳給它一個 String 類型的實參。因為這個函數返回一個 String 類型的值,sayHello 可以被包含在 println 的調用中,用來輸出這個函數的返回值,正如上麵所示。

在 sayHello 的函數體中,先定義了一個新的名為 greeting 的 String 常量,同時賦值了給 personName 的一個簡單問候消息。然後用 return 關鍵字把這個問候返回出去。一旦 return greeting 被調用,該函數結束它的執行並返回greeting 的當前值。

你可以用不同的輸入值多次調用 sayHello。上麵的例子展示的是用"Anna""Brian"調用的結果,該函數分彆返回了不同的結果。

為了簡化這個函數的定義,可以將問候消息的創建和返回寫成一句:

func sayHelloAgain(personName: String) -> String {
    return "Hello again, " + personName + "!"
}
println(sayHelloAgain("Anna"))
// prints "Hello again, Anna!"