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)")//输出:好人一生平安
}))

 

posted @ 2019-09-29 17:23  新年新气象  阅读(379)  评论(0编辑  收藏  举报