Swift 使用 func 关键字声明函数:
func greet(name: String,day: String) -> String {
return "Hello \(name),today is \(day)."
}
greet("hello",day: "World")
通过元组(Tuple)返回多个值:
func getPrices() -> (Double,Double,Double){
return (3.89,4.98,0.87)
}
getPrices()
func sumOf(numbers:Int...) -> Int{
var sum = 0
for number in numbers{
sum += number
}
return sum
}
let sum = sumOf()
let sum1 = sumOf(12,23,45,14,87)
println("sum =\(sum),sum1 = \(sum1)")
运行结果:sum =0,sum1 = 226
func returnFifteen() -> Int{
var y = 10
func add(){
y += 5
}
add()
return y
}
returnFifteen()

作为头等对象,函数既可以作为返回值,也可以作为参数传递:
func makeincrementer() -> (Int -> Int){
func addOne(number:Int) -> Int{
return 1 + number
}
return addOne
}
var incernebt = makeincrementer()
let summery = incernebt(7)
func hasAnyMatches(list:Int[],condition:Int -> Bool) -> Bool{
for item in list{
if condition(item){
return true
}
}
return false
}
func lessonThanTen(number:Int) -> Bool{
return number < 10
}
var numbers = [20,17,9,19]let haoMatch = hasAnyMatches(numbers,condition: lessonThanTen)
闭包
闭包是功能性自包含模块,可以在代码中被传递和使用。 Swift 中的闭包与 C 和 Objective-C中的 blocks 以及其他一些编程语言中的 lambdas 比较相似。本质来说,函数是特殊的闭包,Swift 中可以利用{}声明匿名闭包:
闭包表达式语法有如下一般形式:
{ (parameters) -> returnType in
statements
}
函数和返回值类型都写在大括号内,而不是大括号外。
闭包的函数体部分由关键字 in 引入。 该关键字表示闭包的参数和返回值类型定义已经完成,闭包函数体即将开始。
numbers.map({
(number: Int) -> Int in
let result = 3 * number
return result
})
当闭包的类型已知时,可以使用下面的简化写法:
numbers.map({ number in 3 * number })
此外还可以通过参数的位置来使用参数,当函数最后一个参数是闭包时,可以使用下面的语法:
sort([1,5,3,12,2]) { $0 > $1 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。