Swift变量、运算符

2017-06-14  本文已影响36人  yaqiong

1.写在前面

Swift支持所有C和OC的基本类型,支持面向过程和面向对象的编程机制,是一种类型安全的语言,需要OS X以及以上系统支持

新特性:元组,可选类型

playground,只用来快速体验Swift语法和测试API

2.数据类型声明及赋值

声明:变量 var  常量 let      允许一条语句换行

var name = "lucky"       var age:Int      var str:String = "str"

占位符:用 "\(变量名)"的方式表示,比如println("his name is \(name)") 

整型:用Int表示即可,注意整型之间的转换必须是显式转换

浮点型:相比其他语言,Swift中可以用0.0作为除数,得到的结果-inf表示负无穷,+inf表示正无穷。0.0/0.0得到nan(not a number)

元组:比如:var person:(name:String,age:Int)。可以在定义时直接赋值,可以使用key值赋值,比如person.name = "susan"

可选类型:任何已知类型后面紧跟?即可表示可选类型 

强制解析:在变量或常量后面添加!  注意:必须可选类型的变量和常量确实有值的时候才能解析成功,如:

             let num1:Int?=10

            let num2:Int?=20

           if num1 != nil && num2 != nil{

          let sum = num1! + num2!

                print(sum)

         } else {

                 print("不能进行强制解析");

        }

隐式解析可选绑定:定义时类型后面跟的是!,在使用时不再进行强制解析

3.运算符

(这里只说Swift的特性)

Swift让所有数值类型都支持了基本的四则运算(当然,不同数据类型不支持)

               "hello"+"world" // 结果是"helloworld"

               Swift默认不允许数值在运算过程中出现溢出情况,所以可以使用溢出运算符

赋值运算符=   赋值表达式是没有值的,不支持连续赋值

算数运算符(0.0/0.0得到nan)求余运算结果的符号取决于被除数

溢出运算符:在+-*前面加一个&符号,(没有&/)    实际上进行的是二进制操作

区间运算符:a..<b 表示包含a不包含b(半开区间)   a...b 表示包含a也包含b(闭区间)

特征相等运算符 ===    特征不等运算符!==

nil合并运算符:两个变量之间加??  比如a ?? b   表示如果a包含一个值就进行解封,否则就返回一个默认值b

      注意:表达式a必须是可选类型,默认值b的类型必须要和a存储值的类型保持一致

如果a为非空值,那么b将不会被估值



上一篇下一篇

猜你喜欢

热点阅读