1、声明和初始化

声明和初始化是很灵活的,具体取决于是否要指定数组类型以及是否初始化元素。

1. 通过字面量声明和初始化

1.1直接使用字面量创建一个数组。Swift 会自动推断数组的类型。

var fruits = ["苹果", "香蕉", "橘子"]  
// Swift 会推断为 [String]

1.2 明确指定类型

var numbers: [Int] = [1, 2, 3, 4, 5]

2. 创建空数组

如果你只想声明一个空数组,可以使用空的数组字面量或 Array 构造器。需要明确声明数组类型,因为 Swift 无法推断空数组的类型。

var emptyArray: [String] = []  // 空数组
var emptyArray = Array<String>() //使用 Array 类型构造器:

3. 使用数组构造器初始化

使用数组构造器来创建一个有固定大小且所有元素相同的数组。

var fiveZeros = Array(repeating: 0, count: 5)  // [0, 0, 0, 0, 0]

4、初始化器参数

这个其实和初始化器以及字面量的赋值是一样,只不过swift中有...这样的语法糖而能够这样初始化

let numbers = [int](0...7)

5. 组合字面量和构造器

可以组合不同的初始化方式来初始化数组。例如,声明并同时初始化具有特定类型和值的数组:

var mixedArray: [Any] = [1, "苹果", 3.14]  // 包含多种类型元素的数组

6. 通过类型推断创建数组

给定了明确的初始值,Swift 可以自动推断数组的类型。

let cities = ["北京", "上海", "广州"]  // Swift 推断为 [String]

7. 多维数组

声明并初始化多维数组,数组中的元素本身也是数组。

var matrix: [[Int]] = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

8. 可选数组

可能想要声明一个可能为 nil 的数组,这种情况可以使用可选类型。

var optionalArray: [String]? = nil  // 可为 nil 的数组

总结

  • 字面量初始化:最常用的方式,直接用 [] 来初始化数组。

  • 构造器:可用于创建带有相同元素的数组。

  • 空数组:需要指定类型以避免推断问题。

  • 类型推断:Swift 会自动根据初始值推断数组类型。

Last updated