闭包

作者: 摇耳朵的小布丁i | 来源:发表于2016-11-18 15:55 被阅读0次

import Foundation

// 闭包:闭包的本质-匿名函数(没有名字的函数)就是一个能完成特定功能的代码块

//写一个求和函数

func sum(num1:Int,num2:Int)->Int{return num1 + num2}

/* (Int, Int)->(Int) */let biBao:( (Int, Int)->(Int) )biBao = {    (num1:Int, num2:Int)->(Int) in    return num1 + num2}

//调用闭包let result = biBao(1,2)print(result)

//无参数无返回值的闭包

//OC return作用: 1:返回一个值 2:提前结束一个函数

//()->(Void) 无参无返的闭包类型

let b1:(()->(Void)) = {    ()->(Void) in       

 print("无参无返的闭包类型")}b1()//无参数有返回值的闭包类型

//() -> (Int)let b2:(() -> (Int)) = {  () -> (Int) in    return 10}print( b2() )

//有参数有返回值闭包类型

//() -> (Int)var b3:( (Int,Int)->(Int) ) = {    (n:Int,m:Int)->(Int) in    

return n + m}print(b3(1,5))b3 = {    (a:Int,b:Int)->(Int) in    return a - b}print( b3(10,5) )b3 = {    (i:Int,j:Int)->(Int) in    return i * j}

print(b3(2,3))

//闭包类型的变量,不止能存储一个代码块,而是能存储和变量类型一致的所有代码块

//有参数无返回值闭包类型//比较两个数最大值并把两个值输出的闭包

let b4:((Int,Int) -> (Void)) = {    (x:Int,y:Int) -> (Void) in    print(x > y ? x : y)

  //三步运算符}b4(10,13)var arr = ["zhangsan","lisi","yifeng","mazi","xiaofan"]

//可变数组 两种排序方式都可以使用,不可变的只能用sorted

//arr.sort()

//arr.sorted()

//升序排//arr.sort()

//print(arr)arr.sort { (str1:String, str2:String) -> Bool in 

 // 比较条件大于,得出的结果是降序 

 // 比较条件是小于,得出的结果是升序   

 return str1 > str2}print(arr)//泛型  (了解)func printContent(something:T){ 

 //T的位置随便定义

print(something)

}

printContent(something: "12345")

printContent(something: 1)

printContent(something: 1.22)

相关文章

  • swift-闭包

    闭包 闭包定义 闭包简化 - 尾随闭包 闭包参数 闭包返回值 闭包的循环引用

  • 闭包,闭包,闭包

    1、这家伙到底是什么? 网上关于这个的讨论的太多了太多了,有各种的举例子,但是大部分还在寻找这个答案的小伙伴对于变...

  • 闭包-Closures [swift 5.1]

    闭包的语法 尾随闭包 闭包逃离 自动闭包

  • Day7 闭包(Closures)

    本页包含内容:• 闭包表达式• 尾随闭包• 值捕获• 闭包是引用类型• 逃逸闭包• 自动闭包 1、闭包表达式 闭包...

  • Python闭包

    闭包 = 环境变量 + 函数 调用闭包内部的环境变量 闭包的经典误区 闭包与非闭包实现人类走路 非闭包 闭包

  • 闭包(closure)

    ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...

  • swift- 闭包一

    /*• 闭包表达式• 尾随闭包• 值捕获• 闭包是引用类型• 逃逸闭包• 自动闭包*/

  • (9) python之闭包

    闭包闭包 = 函数 + 环境变量(函数定义的时候) 一个最简单的闭包 闭包不受外部变量影响 非闭包 闭包 闭包 只...

  • Swift-进阶 :闭包(二)逃逸闭包 & 非逃逸闭包

    本文主要分析逃逸闭包 、非逃逸闭包、自动闭包 逃逸闭包 & 非逃逸闭包 逃逸闭包定义 当闭包作为一个实际参数传递给...

  • javascript闭包详解

    跟我念 bi 闭 bao包 ,闭包的闭,闭包的包。。 闭包的简介 在计算机科学中,闭包(英语:Closure),又...

网友评论

      本文标题:闭包

      本文链接:https://www.haomeiwen.com/subject/ubfspttx.html