swift函数使用
- 无返回值无参数函数 类方法 类名.函数名调用
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)")//输出:好人一生平安
}))
浙公网安备 33010602011771号