- 无返回值无参数函数 类方法 类名.函数名调用
static func func1(){ print("无返回值无参数函数func1") } ViewController.func1();
- 有返回值无参数函数func2
print(func2()); func func2() ->String{ return "有返回值无参数函数func2" }
- 无返回值有参数函数func3
func3(one: "这个参数是我自己随便传的") func func3(one: String){ print("无返回值有参数函数func3,参数:(one)") }
- 有参数,有返回值func4
print(func4(one: 1, tow: 2)); func func4(one: Int,tow: Int)->Int{ return one+tow; }
- 多参数返回func5
func func5(array: [Int])->(min: Int,max: Int){ if(array.isEmpty || array.count == 0 ) { return(-1,-1); } var min = array[0] var max = array[0] for value in array[1..<array.count] { if(value < min){ min = value; } if(value > max){ max = value; } } return (min,max); }
let bounds = func5(array: [6,2,7,9,4,21,243,62]); print("min:(bounds.min) max:(bounds.max)")
- 多参数传递 func6
func func6<N>(members: N...){ for i in members { print(i) } }
func6(members: 1,2,3); func6(members: 1);
-
外部参数名,当然也可以省略,一下两个例子区分
func func6(out param:Int){//这里是外部参数名格式,第一个是外部参数,调用的时候就用out print(param)//输出:1 } func6(out: 1)
func func7(_ param:Int){//_代表外部参数可以省略 print(param)//输出1 } func7(1)
- I/O参数,就是可以修改变量的值
func func8(_ a: inout Int, _ b: inout Int) { let temp = a a = b b = temp } var x = 1 var y = 5 func8(&x, &y)//这里的&不能省,不然报错 print("x 现在的值 (x), y 现在的值 (y)") //x 现在的值 5,y 现在的值 1
- 可变参数,就是传的参数的值不固定
func func9<N>(members: N...){ for i in members { print(i) } } func9(members: 4,3,5) func9(members: "Google")
- 使用闭包传参数
typealias comple = (String)->Void func aaa(result:comple){ result("好人一生平安") } print(aaa(result: { (String) in print("(String)")//输出:好人一生平安 }))