/// 简单闭包,如果没有参数,没有返回值
let simpleClosure = {
print("hello world")
}
- 闭包定义
格式: let 闭包名: (形参) -> 返回类型 = { (形参1, 形参2, ...) in 代码实现 }
说明: 使用形参列表,可以直接提供外部参数
格式: let 闭包名: (形参类型) -> 返回类型 = { (形参1, 形参2, ...) in 代码实现 }
格式: { (外部参数1 形参1, 外部参数2 形参2, ...) -> 返回类型 in 代码实现 }
说明: 使用外部参数会方便调用
格式: { (形参列表) -> 返回类型 in 代码实现 }
let closure4: (num1:Int, num2:Int) -> Int = { (x, y) in
return x + y
}
格式: let 闭包名: (形参类型) -> 返回类型 = { (形参1, 形参2, ...) in 代码实现 }
格式: { (外部参数1 形参1, 外部参数2 形参2, ...) -> 返回类型 in 代码实现 }
说明: 使用外部参数会方便调用
格式: { (形参列表) -> 返回类型 in 代码实现 }
let closure3: (Int, Int) -> Int = { (x, y) in
return x + y
}
格式: { (外部参数1 形参1, 外部参数2 形参2, ...) -> 返回值 in 代码实现 }
说明: 使用外部参数会方便调用
格式: { (形参列表) -> 返回类型 in 代码实现 }
let closure2 = { (num1 x: Int, num2 y: Int) -> Int in
return x + y
}
格式: { (形参列表) -> 返回类型 in 代码实现 }
let closure1 = { (x: Int, y: Int) -> Int in
return x + y
}
- 函数定义
格式:func 函数名(形参1: 类型 = 默认值, _ 形参2: 类型 = 默认值...) -> 返回值 { // 代码实现 }
说明:包含默认值的函数可以不用传递,并且可以任意组合
格式:func 函数名(形参1: 类型, _ 形参2: 类型...) -> 返回值 { // 代码实现 }
说明:_ 可以忽略外部参数,与其他语言的函数风格更加类似
格式:func 函数名(外部参数1 形参1: 类型, 外部参数2 形参2: 类型...) -> 返回值 { // 代码实现 }
说明:外部参数名供外部调用使用,形参 在函数内部使用
格式:func 函数名(形参列表) -> 返回值 { // 代码实现 }
func sum3(x: Int, y: Int = 10, z: Int = 20) -> Int {
return x + y + z
}
格式:func 函数名(形参1: 类型, _ 形参2: 类型...) -> 返回值 { // 代码实现 }
说明:_ 可以忽略外部参数,与其他语言的函数风格更加类似
格式:func 函数名(外部参数1 形参1: 类型, 外部参数2 形参2: 类型...) -> 返回值 { // 代码实现 }
说明:外部参数名供外部调用使用,形参 在函数内部使用
格式:func 函数名(形参列表) -> 返回值 { // 代码实现 }
func sum2(x: Int, _ y: Int) -> Int {
return x + y
}
格式:func 函数名(外部参数1 形参1: 类型, 外部参数2 形参2: 类型...) -> 返回值 { // 代码实现 }
说明:外部参数名供外部调用使用,形参 在函数内部使用
格式:func 函数名(形参列表) -> 返回值 { // 代码实现 }
func sum1(num1 x: Int, num2 y: Int) -> Int {
return x + y
}
格式:func 函数名(形参列表) -> 返回值 { // 代码实现 }
func sum(x: Int, y: Int) -> Int {
return x + y
}
}