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
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看着窗外流幻不定的光线,突然想起泰旸欣城上空看的缓缓车流,那时琉璃的幻彩,让我心声迷惘。那时的老外拍卖会,天桥下的...
    Silence_hammer阅读 472评论 0 0
  • 妈妈陪着六岁的女儿写作业,妈妈在一旁不停的催促“快点写!”女孩对妈妈的话置若罔闻,一会儿上厕所,一会儿喝水,一会要...
    雪山飞狐儿阅读 214评论 0 1
  • 1 寒风吹皱了你的脸颊 落叶开启了秋的绝唱 那些未曾实现的愿望 如今都长埋地下了吧? 2 霜染的白发 结痂的脚丫 ...
    魏林阅读 247评论 1 5