码迷,mamicode.com
首页 > 编程语言 > 详细

Swift 学习之基本语法 -- (一)

时间:2015-12-03 18:44:19      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

Swift 已经出来好久了,一直没有开始的学习,现在开始下定决定系统的学习一下。

任何一种语言的学习起步都是语法:

 ///1、 注意:let 修饰的是 不可变 var是可变
        let maximumNumberOfLoginAttempts = 10;
        var currentLoginAttempts         = 0;
        currentLoginAttempts             = currentLoginAttempts + 1;
        NSLog("maximumNumberOfLoginAttempts = %ld", maximumNumberOfLoginAttempts);
        NSLog("currentLoginAttempts = %ld", currentLoginAttempts);
        
        //2、类型标注:一般而言很少写标注 是根据初始值判断变量或常量类型
        var welcomMessage: String
        welcomMessage = "Hello"
        print("welcomMessage = \(welcomMessage)")
        
        //3、常量和变量的命名- 可以用任何字符作为常量和变量名(包括Unicode字符),但是常量和变量名不能包含数学符号、箭头、保留的(或者是非法的)Unicode码位、连线和制表符,也不能以数字开头,但是可以包含数字
        //常量和变量不能互转--但是可以改变变量的值为同类型的值 && 常量的值一旦确定不可变,改变会导致变异错误
        welcomMessage = "New Hello"
        //3+++、注意swift的输出方法---
        print("new welcomMessage = \(welcomMessage)")
//        let languageName = "Swift"
//        languageName = "OC" //编译出错!!!!
        
        //4、元组  --可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型
        let http404Error = (404,"Not Found")
        print("http404Error = \(http404Error)")
        //4.1 可以将一个元组的内容分解成单独的常量和变量
        let (statusCode,statusMessage) = http404Error
        print("statusCode = \(statusCode),statusMessage = \(statusMessage)")
    
        //4.2 如果只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记
        let(justCode,_) = http404Error
        print("justCode = \(justCode)")
        let(_,justMessage) = http404Error
        print("justMessage = \(justMessage)")
        
        //4.3 可以通过下标来访问元组中的单个元素,下标从零开始
         print("the statusCode is \(http404Error.0),message = \(http404Error.1)")
        
        //4.4 可以在定义元组的时候给单个元素命名,然后可以通过名字获取这些元素的值
        let http200Status = (statusCode: 200,description:"OK")
        print("http200Status = \(http200Status) \ncode = \(http200Status.statusCode),description = \(http200Status.description)")
        //5、Optional 可选 ---所谓可选 就暗示了 可以“没有值”
        let posssibleNumber:String = "123"
        let possibleNotNumber = "123?"
        let convertedNumber = Int(posssibleNumber)
        let convertNotNumber = Int(possibleNotNumber)
        
        print("posssibleNumber = \(posssibleNumber),possibleNotNumber = \(possibleNotNumber)")
        print("convertedNumber = \(convertedNumber),convertNotNumber= \(convertNotNumber)")
        
        //6、隐式解析可选
        let possibleString:String? = "An optional string"
        print("possibleString = \(possibleString)")
        
        print("possibleString !!! = \(possibleString!)")
        
        let assumedString:String! = "An implictitly unwraped optional string"
        print("assumedString = \(assumedString)")
        print("assumedString!!! = \(assumedString!)")
        
        
        //7、断言
        let age = -3
        assert( age >= 0,"A person‘s age can‘t be less than zero")
        //因为age < 0所以会断

        /*
        备注:
        1、OC中的nil和swift的nil意思并不一样--OC中nil是以俄国指向不确定的对象指针,在swift中nil不是指针,它是一个确定的值,用来表示确实,任何类型的可选都可以被设置为nil,不只是对象类型
        2、如果一个变量之后可能变成nil的话请不要使用隐式解析可选。如果你需要在变量的生命周期中判断是否是nil的话,请使用普通可选类型
        3、断言的使用情形:
          3.1:整数的附属脚本索引被传入一个自定义附属脚本实现,但是下标索引值可能太小或太大;
          3.2:需要给函数传入一个值,但是非法的值肯能导致函数不能正常执行
          3.3:一个可选值现在是nil,但是后面的代码运行需要一个非nil值
        断言会导致程序终止运行,所以--可以快速定位问题,便于查找问题
        */

 

这是简单记录了一些个人觉得比较基础且常用的部分。

若有什么不对的地方,还是希望有人告知,谢谢!

参考来自:http://www.cocoachina.com/ios/20140612/8776.html

Swift 学习之基本语法 -- (一)

标签:

原文地址:http://www.cnblogs.com/lisaloveyou1900/p/5016926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!