1、Swift入门学习笔记(第一版),对Swift的基础知识点进行梳理总结。知识点一直在变,只是作为参考,以苹果官方文档为准~
2、在学习完基本的知识点以后会结合官方文档及相关资料,在此版本的基础上进行添加更改。
二、集合类
1、数组Array
数组中的集合元素是有序的,可重复出现
1.1、初始化
var array1:Array<String> = ["Zhu","Hu","Huang"] //<String>是泛型,表示此数组只能存放字符串类型的数据
var array2:[String] = ["Zhu"] //[String]与Array<String>等价
let array3:[String] = ["Zhu"] //let声明不可变数组,必须同时进行初始化,初始化后不能修改
var array4 = [String]() //初始化空数组,限定值类型为String
var array5 = ["Zhu","Hu","Huang"] //不写类型系统自动推断
var array6 = array1 + array2 //两数组相加创建数组
print(array6)
var repeatArray = [Double](count: 3, repeatedValue: 2.18)
print(repeatArray) //初始化一个长度为3,元素均为2.18
var repeatArray1 = Array(count: 3, repeatedValue: 21.8)
print(repeatArray1)
Output:
["Zhu", "Hu", "Huang", "Zhu"]
[2.18, 2.18, 2.18]
[21.8, 21.8, 21.8]
注意点:
a、不可变数组在访问效率上比可变数组要高,可变数组通过牺牲效率换取可变。当可变数组内添加新元素的时候,数组要重新改变大小,然后重排其索引下标,影响性能。
b、var array2:[String]
与[String]()
的区别,前者语句声明没有初始化,未开辟内存空间。而后者进行初始化,只是没有任何元素
c、[String]
与Array<String>
等价
d、let声明不可变数组,必须同时进行初始化,初始化后不能修改
e、不写类型系统自动推断
1.2、基本操作
var countList:[String] = ["One","Two","Three"]
print("初始数组:\(countList)")
增加操作
//增加元素append
countList.append("Four")
print("增加后:\(countList)")
//增加insert
countList.insert("Zero", atIndex: 0)
print("Insert后:\(countList)")
//+=操作符
countList += ["Five","Six"]
print("+=操作后:\(countList)")
Output:
初始数组:["One", "Two", "Three"]
增加后:[