Swift 3.0(一)

一:let 和 var

  let 声明的是一个常量, var 声明的是一个变量

 

二:简单数据类型

  1.自推出数据类型

    let implicitDouble = 70.0    //根据初始化时赋值的数据,推断出implicitDouble数据类型为Double

  2.明确指定数据类型

    let explicitDouble:Double = 70.0

  3.强制数据类型转换, 数据类型转换必须是显式的

    let label = "The width is"

    let width = 40

    let widthLable = label + String(width)

  4.字符串里引用变量, \(变量)

    let number = 42

    let message1 = "I have \(number) dogs!"

    let message2 = "I have \(number + 1) dogs!"  //引用表达式number + 1

 

三:数组和字典(array,dictionary)

  1.数组 ,形如 var myList = ["book", "pen", "pencil", "schoolbag"]

     通过下标访问: print(myList[0]),   myList[0] = "books"

     添加(append):

       var intArray = [1, 3, 5, 7]

         intArray.append(9)  //[1, 3, 5, 7, 9]

         intArray.appendContentsOf([11, 13, 15])  //[1, 3, 5, 7, 9, 11, 13, 15]

     同时修改多个元素:

       intArray[3...5] = [2, 4]  //[1, 3, 5, 2, 4, 13, 15]

  2.字典, 形如 var myMap = ["Leon" : 27, "Lily" : 26, "Euler" : 32]

     通过key访问, myMap["Leon"] = 28

     如果访问的数据不存在则返回nil,let age = myMap["Julie"] //age 值为 nil

     添加一个元素和修改一个元素是一样的, myMap["Eminem"] = 37

  3.初始化空数据

   //数组初始化

    var array1 = []  //不指定数据类型

    var array2 = [String] () //指定数据类型

  //字典初始化

    var map1  = [:] //不指定数据类型

    var map2 = [String:Int]() //指定数据类型

  4.遍历, for element in elements

    例如:

    4.1

    var myArray = [1, 3, 5, 7, 9]

    for myInt in myArray{

      print(myInt)

    }

 

    4.2

    var ages = ["Leon" : 27, "Lily" : 26, "Euler" : 32]

    for (name, age) inages{

        print("\(name) is \(age) years old now!")

    }

 

五:switch

  5.1

  let age = 10

  switch age{

  case 1:

    //do something

  case 5...17:

    //do something

  case let decade where decade % 10 = 0:

    //do something

  default:

    //do something

  }

 

  5.2 同时对两个变量值做判断

  let username = "admin"

  let passwordIsValid = true

  switch (username, passwordIsValid) {

  case ("admin", true):  //用户名是“admin” 并且密码是有效

    //do something

  case ("guest", _): //只要用户名是 “admin" 不管密码如何

    //do something

  case (_, let isValid): //包括了不管用户名是什么但是密码有效或者无效这两种情况

    //do something

  }

    

posted @ 2016-06-25 11:10  KbDaVinci  阅读(152)  评论(0)    收藏  举报