1. 程式人生 > >Swift筆記:函式

Swift筆記:函式

函式

//宣告函式
func sayhello(person:String) -> String {
    let  str = "hello," + person

    return str
}

//呼叫函式
print(sayhello("locay"))

//hello,locay

以 func 作為字首。 ->(一個連字元後跟一個右尖括號)後跟返回型別的名稱的方式來表示函式返回值。函式名後面()為函式引數。

無參函式(Functions Without Parameters)

func sayHelloWorld() -> String {
    return
"hello, world" } print(sayHelloWorld()) // prints "hello, world"

多引數函式 (Functions With Multiple Parameters)

func sayHello(personName: String, alreadyGreeted: Bool) -> String {
    if alreadyGreeted {
        return sayHelloAgain(personName)
    } else {
        return sayHello(personName)
    }
}
print
(sayHello("Tim", alreadyGreeted: true)) // prints "Hello again, Tim!"

無返回值函式(Functions Without Return Values)

func sayGoodbye(personName: String) {
    print("Goodbye, \(personName)!")
}
sayGoodbye("Dave")
// prints "Goodbye, Dave!"

多重返回值函式(Functions with Multiple Return Values)

func minMax(array: [Int]) -> (min: Int, max: Int) {
    var currentMin = array
[0] var currentMax = array[0] for value in array[1..<array.count] { if value < currentMin { currentMin = value } else if value > currentMax { currentMax = value } } return (currentMin, currentMax) }

函式型別(Function Types)

每個函式都有種特定的函式型別,由函式的引數型別和返回型別組成。

func addTwoInts(a: Int, _ b: Int) -> Int {
    return a + b
}
func multiplyTwoInts(a: Int, _ b: Int) -> Int {
    return a * b
}

這兩個函式的型別是 (Int, Int) -> Int,可以解讀為“這個函式型別有兩個 Int 型的引數並返回一個 Int 型的值。”。

func printHelloWorld() {
    print("hello, world")
}

這個函式的型別是:() -> Void,或者叫“沒有引數,並返回 Void 型別的函式”。