【note】Swift之闭包表达式的几种简化缩写形式

完整型:

闭包表达式的几种简化缩写形式:

  • 自动类型判断:省略参数类型和返回值类型

  • 单表达式闭包可以省去return关键词(单表达式的意思是就是return语句只有一句话)——比较普遍

  • 使用参数缩略形式$0, $1…省略参数声明和in($0表示第一个参数,¥1表示第二个参数)——比较普遍

  • 将操作符函数自动推导为函数类型——用的不多

  • 尾随闭包:当闭包表达式为函数最后一个参数,可将其写在括号后(为了代码的干净整洁)——比较常见

  • 自动闭包:不接受任何参数,直接返回表达式的值。允许延迟计算。
    • 允许延迟计算的意思是本来filter是会立即计算的,这样可以延迟计算,到之后才去执行filter()

Swift代码规范

Swift代码规范

  •  一行不要超过160个字符
  • 左大括号不换行
  • 运算符( + – * / == != ->)左右加空格,

  • 逗号、冒号的后面加空格,但遇到后面是小括号则不需要加空格

  • if else的else、do catch的catch,与大括号在同一行

  • 跨多行函数声明要缩进

  • 跨多行if语句要缩进

  • 尽量避免多行断言,可以使用本地变量或者其他策略

  • 尽可能多使用let,少使用var
  • 如果变量类型可以依靠推断得出,不建议声明变量时指名类型
  • switch模块中不用显式使用break
  • if语句左右不要使用小括号

  • 不要使用as! 或 try!
  • 在解析可选类型时,推荐使用 guard 语句,而不是 if 语句,因为 guard 语句可以减少不必要的嵌套缩进
  • 如果需要在2个状态间做出选择,建议使用if 语句,而不是使用 guard 语句

  • 即使文档注释只有一行,也要使用模块化格式 (/** */)
  • 使用首字母大写的驼峰命名规则来命名枚举值

  • 尽可能的避免使用强制转换和强制解包
  • 不要在 if 和 switch 条件两边或者 return 关键词上加 Objective-C 样式的圆括号
  • 避免使用行尾分号,尽管这样是可以编译通过的。但是它们会让你的代码看起来很糟糕,而且用起来体验也很差。
  • 版权声明应该被包含在所有源文件的顶部
  • 笑脸

  • 用足够的空行把代码分割成合理的块
  • 不要在一行结尾留下空白,也不要在空行留下缩进
  • 文件结束时留一空行