Swift 基础(1) - Tips

2017-03-25  本文已影响4人  静持大师

一、关键词

guard 使用场景
使用 guard 来表达 “提前退出”的意图,有以下 使用场景 :

在验证入口条件时
在成功路径上提前退出
在可选值解包时(拍扁 if let..else 金字塔)
return 和 throw 中
日志、崩溃和断言中
fileprivate
private:
filter: 条件满足
map: 转换
reduce: 计算
final:

二、协议代理


三、函数

func makecoffee(type :String = "卡布奇诺") -> String {
    return "制作一杯\(type)咖啡。"
}

let coffee1 = makecoffee("拿铁")
let coffee2 = makecoffee()
func sum(numbers:Double...) -> Double {
    var total: Double = 0
    for number in numbers {
        total += number
    }
    return total
}

sum(100.0, 20, 30)
sum(30, 80)
默认情况下,函数的参数是值传递.如果想改变外面的变量,则需要传递变量的地址
必须是变量,因为需要在内部改变其值
Swift提供的inout关键字就可以实现

// 函数二:指针的传递
func swap1(inout a : Int, inout b : Int) {
    let temp = a
    a = b
    b = temp

    print("a:\(a), b:\(b)")
}

swap1(&a, b: &b)
print("a:\(a), b:\(b)")

Extension


闭包

十、其它

class 和 struct 的区别
try? 和 try!是什么意思
public 和 open 的区别
上一篇下一篇

猜你喜欢

热点阅读