swift4

作者: Mr__Robot | 来源:发表于2017-09-17 14:30 被阅读0次
    • let 是 一个声明常量的关键字 用它来声明一个值 默认就不能重复赋值 如需要改默认值 那就得换var 关键字来声明代码如下:
       let num1 = 7 
       代码可以这麼理解:我要订一个 叫num1 的常量 把7给它
    // num1 = 8 (这一行代码会报错,原因我们用的是let 它的值定了以后就不能再改)
    
    • var 是变量 意味着我可以随时改他的值
    var num2 = 7
        num2 = 8
    
    • string 是个字符串
    //要订string属性 叫welcome的一个变量
    var welcomeMessage: String
    // 把hello 赋值给 welcomeMessage
    welcomeMessage = "hello"
    
    • 还可以这么写
    //要订变量 name和comeFrom 它们属性为: string
    var  name, comeFrom: String
    // name 你来存储李小龙 但你别高兴地太早我随时可以给你起别的名字因为你是变量!
    name = "李小龙"
    // comeFrom 你来存储香港 但你别高兴地太早我随时可以给你起别的名字因为你是变量!
    comeFrom = "香港"
    
    • 我还要把他们打印出来我要print()函数
     print(num1)
    print(num2)
    print(welcomeMessage)
    print(name)
    print(comeFrom)
    
    • 布尔值 是假和真
    let 男人花心呀 = true
    let 男人不花心 = false
    //布尔值 用条件语句if 的时候有用的哦看下列
    if 男人花心呀 {
        //如果男人花心是对的那么回个反应
        print(" 说的太实在 !")
    }else{
        print("嗨,真他妈谎 !")
    }
    

    提示:if 语句本质是判断 如果没有任何条件还想用它 那你就傻了,看下列
    //let age = 88
    //if age = 88 {
    // 会报错
    //}
    //但把它可以这么些
    let age = 88
    if age == 88 {
    }

    上面两个例子很简单 符号 = 是表示赋值不成立比较逻辑 !反而 == 符号是表示等于 就是比较 类型自然会Bool 类型 会满足条件语句if 的比较和判断*/

    • 元组
    • 元祖是这么一个东西,多个值组合成单个复合值 牛逼的是不同类型都可以

    let myLoveAndStory = ("迪丽热巴", 25)
    //上面一行代码包含了两个个元祖 而且返回类型不一样的 string 和 int 类型 这意味着在swift中也可以不同类型的值放在一个元祖里面,类型可以你需要的任何一种

    • 下面演示怎么取元祖成员值
    let (myGril,year) = myLoveAndStory
    //我还要打印me 会打印我定制的的信息
    print("我女友是 \(myGril)")
    print("我们谈恋爱已经\(year)年了")
    
    • 我现在只需要女友的名字不需要另一个值呀,怎么办? 只用一个下划线 _ 忽略值25
    let (justmyGril, _) = myLoveAndStory
    print("我女友是 \(justmyGril)")
     //我还有第二种方式 可以放元祖的各个元素
    print("我的女友是\(myLoveAndStory.0),我们恋爱已经\(myLoveAndStory.1)年了 ")
    
    • 不过我记不住各个元素呀 ,我要给他们起个名 好办,起的名字在前面:元素在后面
    let myFamily = (somePeople: 4, LoveWho: "mother")
    //现在呢,我元素的标签名来访问元祖的各个值
    print("我家里有\(myFamily.somePeople)口人,我爱\(myFamily.LoveWho)")
    
    //接下来就可选类型了 ,它的概念就是有值或者是没有值
    let testString = "abc"
    let changeString = Int(testString)
    
    • 我要定义一个可选类型的变量但是暂时不想给他一个默认值,变量的值将会自动设置为nil
    var money: String?
    //可选类型特征就是要么有值要么没有值,两种可能都有,那么我就要if语句来比较和判断
    if money != nil{
        print("i have some mony")
    }else{
        print("im sorry ,no  mony . ")
    }
    
    • 可选类型optional 的if语句绑定
    if let num1 = Int("3"), let num2 = Int("7"), num1 < num2 && num2 < 10{
        print("\(num1) < \(num2) < 100")
    }
    
    • 然后就是可选类型解包这个玩意 , 听起来很陌生,用起来很简单 看下面代码:
    let optinalString: String? = "hello, im just a optional string "
    let 我要用上面的值 :String = optinalString!
    
    • 上面第一行string后面加了?意味着 它是一个optional 可选类型 但我给他一个默认值了就是一段文字并且我还想要拿它的值,我要用它!感叹号来解包 , 解包这个东西意思就是我知道可选类型有一个值 我要用它!
    • 用断言调式 assert (中文意思:维护,坚持;断言;主张;声称)
    • 下面的代码可以这麼理解 ,如果年龄满足那么执行,如果不满足就要停止,代码中的18改成28的话就不满足条件程序会被assert 终止 会报错:error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0).
    let age1 = 10
    assert(age1 >= 5, "得上学")
    
    assert(age1 >= 0)
    if age1 > 13{
        print("是中学生")
    }else if age1 > 0 {
        print("反正有一个人,不知道几岁")
    }else{
        assertionFailure("一个人的年龄还能小于零吗?")
    }
    

    相关文章

      网友评论

          本文标题:swift4

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