函数是一段代码块和一个会意的名字。用于执行特定的任务
使用函数叫"调用(Call)"
就像公式一样,使用函数需要提供参数
函数调用的结果叫返回值
函数都有类型,包含参数和返回类型
// 定义函数
/*
形式:func 函数名(参数1:类型,参数2:类型,...) -> 返回结果的类型{执行语句}
调用:var 变量名称 = 函数名(变量1,变量2,...)
*/
// 加法函数
func add(x:Int , y:Int) -> Int {
return x + y
}
// 减法函数
func sub(x:Int , y:Int) -> Int {
return x-y
}
var z = sub(x: 10, y: 2)
z = add(x: 2, y: 5)
print(1+2)
// 无函数返回值
func welcome() {
print("我")
print("学习Swift")
}
welcome()
// 多返回值 (使用元祖)
func maxMin() -> (Int, Int) {
return (Int.max, Int.min)
}
maxMin().0
maxMin().1
// 参数以名称:类型 列出,多个参数间用逗号分隔
func add2(x:Int,y:Int,z:Int) -> Int {
return x+y+z
}
add2(x: 10, y: 2, z: 6)
// 可以给某个参数以默认值
func add3(x:Int,increment : Int = 2) -> Int {
return x+increment
}
add3(x: 3)
add3(x: 3, increment: 4)
/* 函数类型:包含参数和返回类型的简写形式,可以像普通变量那样使用,
一般用于函数式编程 (Int,Int) -> Int
*/
func calculate(x:Int, y:Int,method:(Int,Int)->Int) -> Int {
return method(x,y)
}
func addcalculate(x:Int, y:Int) -> Int {
return x+y
}
func subcalculate(x:Int, y:Int) -> Int {
return x-y
}
func mulcalculate(x:Int, y:Int) -> Int {
return x*y
}
func deccalculate(x:Int, y:Int) -> Int {
return x/y
}
calculate(x: 8, y: 5, method: addcalculate)
calculate(x: 8, y: 5, method: subcalculate)
calculate(x: 8, y: 5, method: mulcalculate)
calculate(x: 8, y: 5, method: deccalculate)