標籤:swift
當你定義一個函數時,你可以定義一個或多個有名字和類型的值,作為函數的輸入(稱為參數,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!"
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Swift 函數的定義與調用(Defining and Calling Functions)