swift 学习笔记之可选类型

2016-01-08  本文已影响177人  维子Vanessa

可选类型(可以有值, 也可以没有值)

let num1: Int? = 10
// 以后但凡看到init后面跟上一个?, 就代表初始化方法返回的值是可选的

注意:

let str = "http://www.520it.com/"
let url = NSURL(string: str)
print(url!)
// 注意: Swift不推荐我们随便使用强制解包
let sum = num1! + num2
if let temp = num1
{
    let sum = temp + num2
}
let url2 = NSURL(string: str)
print(url2)
// 取出url2的值赋值给temp, 如果取到了值那么就可以进入if后面的大括号, 如果没有取到值(nil), 就不会进入if后面的大括号
if let abc = url2
{
    print(abc)
}
let v1: Int? = 10
let v2: Int? = 20
let v3: Int? = 30
if let n1 = v1
{
    if let n2 = v2
    {
        if let n3 = v3
        {
            let sum = n1 + n2 + n3
        }
    }
}
guard 条件表达式 else
{
    // 条件为假就会执行
}
func test()
{
    guard let m1 = v1 else
    {
        print("没有值")
        return
    }
    guard let m2 = v2 else
    {
        print("没有值")
        return
    }
    guard let m3 = v3 else
    {
        print("没有值")
        return
    }
    
    let sum = m1 + m2 + m3
}
test()
上一篇下一篇

猜你喜欢

热点阅读