- 数组是存储一系列数据的结构, Swift可以根据初始化的数据, 推断元素类型(声明同时初始化)
var elements = [1, 2, 3, 4] // 声明数组, 同时初始化, 类型为[Int]
var songs = ["song one", "song two", "song three"] // 类型为[String]
- 通过索引访问数组元素
-
数组索引从0开始, 最大索引是数组长度减1,
-
如果访问索引超出数组范围, 造成数组越界, 会导致程序崩溃
elements[0] // 1
songs[1] // "song two"
songs[3] // 程序崩溃, 数组越界
-
数组元素含有多种数据类型, 需要显式声明为[Any]
var songs: [Any] = ["song one", "song two", "song three", 3] // 必须声明为[Any], 否则编译器报错
-
创建数组(先声明, 再初始化)
var songs: [String]
songs[0] = "song one" // 报错, 提示数组并未初始化
// swift 数组初始化有以下两种方式
方式一:
var songs: [String] = [] // 创建空数组
方式二:
var songs = [String]() // 构造方法初始化数组
- type(of:[Any]) 方法 查看数组的数据类型
var songs = ["song one", "song two", "song three"]
type(of: songs) // 返回Array<String>.Type
- 数组之间, 可以通过+ 进行合并
var array_one = [1, 2, 3]
var array_two = [4, 5, 6]
var array_three = array_one + array_two // 合并的之前, 两个数组的元素类型相同
- 也可以使用+= 进行数组元素添加
array_three += [1] // 必须用[] 包住
网友评论