数组
let stu1 = "张三"
let stu2 = "李四"
let stu3 = "王五"
let stu4 = "赵六"
let stus = [stu1,stu2,stu3,stu4]
通过索引读取数组元素
stus[0]
角标溢出无法读取
//Cannot find 'stu' in scope
//stu[4]
let ages:[Int] = [1,2,4,5]
创建一个空数组
var results = [Int]()
results.append(1)
print(results)
集合
集合和数组类似,但是有区别
-
元素不能重复
-
无顺序?这个无序该怎么理解呢?输出的时候发现和数组中的顺序是不一样的。
根据数组创建一个集合
let set1 = Set(stus)
重复项目会被移除掉
let colors = Set(["red","green","yellow","red"])
创建一个空集合
var words = Set<String>()
元组
创建
var englishname = (first:"taylor",last:"swift")
var chinesename = (first:"张",last:"三")
通过位置访问
englishname.0
通过名称访问
chinesename.first
修改元组内部的值
englishname.0 = "jack"
englishname.last = "ma"
print(englishname)
一个用处
元组用来返回请求数据还挺有用的。
var response = (msg:"请求成功",code:0,result:["red","yellow"])
字典
创建一个字典
let heights = [
"张三":1.81,
"李四":1.72
]
访问字典
heights["张三"]
明确声明字典类型
var weights:[String:Double] = [ "san":140.5, "si":130]
当使用一个不存在的key去获取值,会获取一个nil
weights["san"]
weights["wu"]
可以设置一个默认值
weights["wu",default: 100.0]
数组,集合,字典可以统称为集合,因为把值集中在一处
创建一个空字典
var teams = [String:String]()
给空字典添加键值
teams["paul"] = "red"
print(teams)
使用类似的方法创建字典和数组
var scores = Dictionary<String,Int>()
var result2s = Array<Int>()