Swift 学习笔记——The Swift Programming Language —2

集合类型 (数组和字典)

swift 学习第2天,今天主要看了集合类型,数组和字典, 记录了一些和OC的不同,一些Swift的特性(吐槽一下,Xcode写Swift相对于OC来说真是超级卡顿!)
ps. Swift 中,一个数据类型,可变不可变是由var(可变)和let(不可变)这两个关键字来推断(请注意这个词)出来的,并不像OC中那样有两个类区分.
推断这个词,是我在两天学习中脑海中浮现的次数较高的一个词,从定义,声明变量,到赋值,到下面即将写的很多地方,我们并没有很明确的去定义,或者说去确定/固定什么,大多是由系统推断出来的(在Xcode中使用var 声明一个变量,如果你没有在声明之后对其做出一些使它改变的操作,Xcode会提示你,它没有变,请用let修饰....),

数组(Array

Swift 中的数组和OC中的数组类似,都是同种类型的有序的数据集合

  1. 创建一个空的Int型数组, 基本写法如下:
    var someInts = [Int]();
    []中主要定义类型, 但是我们通常只有在定义一个空数组时这样做.
  2. 添加一个元素: someInts.append(3);
  3. someInts = []; // 置空, 但是类型不变,为声明时的类型
  4. 新东西,默认值,在声明一个数组时,可以告诉外界,这个数组默认有多少个元素,每个元素的默认起始值是多少:
    someInts = []; // 置空, 但是类型不变
  5. 修改(只有在var关键字修饰下的操作),和OC一样通过下标取元素
  6. 遍历:
    for item in threeDoubles{ }
    我特喜欢swift的这个特性,只需要给变量名,系统自己赋值,少写很多东西(懒癌,请忽略...)
  7. 如果想同时获取下标和对应下标的值可以这样:
    // 同时获取索引 和 内容 enumerate()用这个方法, (index,value) 是一个元组(出现了!) 又出现了推断.... 不得不说,还蛮好用的(顺便谁能告诉我markDown语法代码块怎样换行,好蛋疼!)
    for (index,value) in threeDoubles.enumerate() { print("Item \(String(index + 1)) : \(value)") }

字典 (Dictionary

  1. 创建一个字典:
    var nameOfIntegers = [Int : String]() 应该没人会定义一个这样的空字典....
    一般这样写var airports = ["SH":"PD","sh":"HQ"];毕竟肯定得存东西的,我相信没人会声明一个空的玩...
  2. 遍历: // 遍历 在遍历的同时 给airportCode 和 airportName (元组又出现了。。。)
    for (airportCode,airportName) in airports { print("\(airportCode),\(airportName)") }

关于集合 就这么多,set 就不写了。。。。

你可能感兴趣的:(Swift 学习笔记——The Swift Programming Language —2)