Swift筆記:函式
阿新 • • 發佈:2019-01-07
函式
//宣告函式
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 型別的函式”。