func
,呼叫funciton使用名字、參數。使用->
指定return型態。func greet(name: String, day: String) -> String {
return "Hello \(name), today is \(day)."
}
greet("Bob", "Tuesday")
多個return值的寫法
func getGasPrices() -> (Double, Double, Double) {
return (3.59, 3.69, 3.79)
}
呼叫方式:
getGasPrices()
function可以帶不定個數的數值當作參數func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
呼叫方式:
sumOf()
sumOf(42, 597, 12)
function裡面可以包含其他的function,內層的function可以使用外層的變數,如果一個function較複雜的時候可以用這種方式來做簡化。
func returnFifteen() -> Int {
var y = 10
func add() {
y += 5
}
add()
return y
}
function本身可以當作參數,也能當作return值
當作return值的範例:
func makeIncrementer() -> (Int -> Int) {
func addOne(number: Int) -> Int {
return 1 + number
}
return addOne
}
當作參數的範例:func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool {
for item in list {
if condition(item) {
return true
}
}
return false
}
func lessThanTen(number: Int) -> Bool {
return number < 10
}
var numbers = [20, 19, 7, 12]
hasAnyMatches(numbers, lessThanTen)
可以使用{}
來建立一個匿名函數closures。使用in
把參數和return類型和function本身的內容分開。numbers.map({
(number: Int) -> Int in
let result = 3 * number
return result
})
如果匿名函數中只有一行,就會自動將這一行的數值當成return值。
沒有留言:
張貼留言