基础:    静态定义,动态推导

          1、每一句的分号是可选的;如果多条语句在一行,必须加上分号

          2、如果不指定变量(var)的数据类型,则必须在定义变量时初始化   var id

               如果指定变量(var)的数据类型,可以不初始化                              var id = 2

          3、常量(let):无论指不指定数据类型,都必须初始化                        let const1: Int = 2

          4、无论是变量,还是常量,一旦确定了数据类型值类型,是不能后期改变的。

          5、如果想用一个var 或者 let 定义 多个 常量 或者 变量,用逗号分隔多个变量或者常量

                    var v1 = “aa”, v2: Float = 20.12, v3: Bool   最后的分号可加可不加

          6、 println()  输出后直接换行 ;print() 输出信息后不换行,要其换行可加“\r\n”

          7、将常量或者变量 插入字符串中

                    1)toString() 全局函数转换为字符串

                    2)加号   var str = “ss”           println(“this is a string” + str + “!")

                    3) \(变量名 或者 常量名)         println(“this is a string \(str)")

          注意:等号=   或者  加号+   两端如果有空格,都要有空格,如果没有空格,都不要加空格,否者报错var a= 2 报错

          8、如果非要将保留字作为变量或者常量名字,则要用反引号(`)将保留字括起来

          9、变量或者常量和数据类型类型之间用冒号:分隔,冒号两端空格随意

          10、数值可读性:增加了下划线来分隔数值中的数值

          11、数值类型之间的转换:  类型名(变量名 或者 常量名)

                   将浮点数转换为整数时,采用 舍去 的方式

          12、类型别名: typealias  类型别名 = 原始类型名    

                         例如: typealias NewInt = Int32

          13、字符类型的值只能存储一个(Unicode)字符, 使用 Character表示字符类型

                  字符 和 字符串 都要使用 双引号 括起来

                  要将变量 或者 常量 定义为字符类型 ,要用 Character

                   要将变量或者常量 声明为 Character ,双引号括起来的部分只能是一个字符,0字符或者大于1个字符都不行

           14、初始化一个空的字符串 变量

                    1)var emptyStr1 = “"

                    2)  var emptyStr2 = String()

           15、String 类有一个unicodeScalars 属性,用于获得字符串中字符的ASCII

                   String 属性 uppercaseString 转为大写   lowecaseString 转为小写

           16、字符和字符串、字符串和字符串 之间 都可以 用 加号 连接

           17、 特殊符号用 反斜杠 (\) 转义

           18、元组类型:初始化时用括号括起来

                    1)let / var pro = (20, “IPhone”, 5999)

                    2)  var (id, name, price) = pro

                    3)  如果  不 打算   获取其中某个 或者 某些值,用下画线 屏蔽

                          let (_, name1 _,) = pro          

                         println(“name is \(name1)")

                    4)  初始化的时候 为 每一个 元素命名

                          let pro = (id:30, name:"iphone", price:5999)

            pro.id

            pro.name

            19、可选类型:  主要解决对象变量 或者 常量 为空的 情况

                    0) swift 没有异常捕获,可选类型有值(成功) 为 值,不成功为 nil

                    1)swift 值 为 nil  表示 值 为空—————OC 值为 nil  表示没有值

                    2)可选类型 需要在类型 后面 加上一个问号?

                               var numstr: String = "123"

              var value: Int? = numstr.toInt()

         3) 确定可选类型一定有值,则把问号变为感叹号,如果加上感叹号后无值,则中断抛出异常

            所以,可以啊类型后面加上感叹号,要确保其一定有值

         4) 在定义可选类型变量或者常量时,将问号改为感叹号,这样就可以直接引用这些可选类型

         5) var numstr: String = "123"

            var value: Int? = numstr.toInt()   ------ 是问号

            println(value) 输出可选类型   

            println(value + 4) 则报错

            println(value! + 4) 127

 

         在对可选类型进行运算的时候,一定要加上 感叹号

            var numstr: String = "123"

()   ——— 是 感叹号

            println(value) 输出 123  

            println(value + 4) 输出127