swift-19闭包的定义

我以前做的swift笔记, 之前都是整理在onenote上, 最近想到整理出博客. 也方便自己查找, 可以当做自己的一份文档.

闭包

 1提前准备好的代码
 2在需要的时候执行
 3可以当做参数传递

闭包执行时, 先敲闭包名, 再敲一个 左括号 按esc键, xcode会自动跳出参数填写格
这个方法使用其他, swift都是这样的风格, 与oc正好相反

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //1最简单的闭包
        //() -> ()  没有参数没有返回值的函数
        let b1 = {
            print("哈哈")
        }
        //执行闭包
        b1()
        
        //2带参数的闭包
        // 闭包中 参数 返回值 实现代码都是写在 {} 中
        // 需要使用一个关键字 in 分割定义和实现
        //  {形参列表 用括号括起来 -> 返回值类型  in  实现代码  }
        // (Int) -> ()
        let b2 = { (x: Int) -> () in
            print(x)
        }
        b2(10)
        
        //3 带参数/返回值的闭包
        let b3 = {(x: Int) -> (Int) in
            return x * x
        }
        print(b3(4))
        
    }
    
    func demo() {
        print(sum(x: 10, y: 20))
        
        //1定义一个常量记录 函数
        //(Int, Int) -> Int
        let f = sum
        //2在需要的时候执行
        print(f(10, 30))
    }

    func sum(x: Int, y: Int) -> Int {
        return x + y
    }

你可能感兴趣的:(swift-19闭包的定义)