Swift--数组(二)
2014-06-21 13:49
106 查看
数组的遍历
我们可以使用 for-in 循环来遍历所有数组中的数据项:
1. for item in shoppingList {
2. println(item)
3. }
4. // Six eggs
5. // Milk
6. // Flour
7. // Baking Powder
8. // Bananas
如果我们同时需要每个数据项的值和索引值,可以使用全局 enumerate 函数来进行数组遍历。enumerate 返回一个由每一个数据项索引值和数据值组成的键值对组。我们可以把这个键值对组分解成临时常量或者变量来进行遍历:
1. for (index, value) in enumerate(shoppingList) {
2. println("Item \(index + 1): \(value)")
3. }
4. // Item 1: Six eggs
5. // Item 2: Milk
6. // Item 3: Flour
7. // Item 4: Baking Powder
8. // Item 5: Bananas
创建并且构造一个数组
我们可以使用构造语法来创建一个由特定数据类型构成的空数组:
1. var someInts = Int[]()
2. println("someInts is of type Int[] with \(someInts。count) items。")
3. // 打印 "someInts is of type Int[] with 0 items。"(someInts是0数据项的Int[]数组)
注意 someInts 被设置为一个 Int[]构造函数的输出所以它的变量类型被定义为 Int[]。 除此之外,如果代码上下文中提供了类型信息, 例如一个函数参数或者一个已经定义好类型的常量或者变量,我们可以使用空数组语句创建一个空数组,它的写法很简单:[](一对空方括号):
1. someInts.append(3)
2. // someInts 现在包含一个 INT值
3. someInts = []
4. // someInts 现在是空数组,但是仍然是 Int[]类型的。
Swift 中的 Array 类型还提供一个可以创建特定大小并且所有数据都被默认的构造方法。我们可以把准备加入新数组的数据项数量(count)和适当类型的初始值(repeatedValue)传入数组构造函数:
1. var threeDoubles = Double[](count: 3, repeatedValue:0.0)
2. // threeDoubles 是一种 Double[]数组, 等于 [0.0, 0.0, 0.0]
因为类型推断的存在,我们使用这种构造方法的时候不需要特别指定数组中存储的数据类型,因为类型可以从默认值推断出来:
1. var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5)
2. // anotherThreeDoubles is inferred as Double[], and equals [2.5, 2.5, 2.5]
最后,我们可以使用加法操作符(+)来组合两种已存在的相同类型数组。新数组的数据类型会被从两个数组的数据类型中推断出来:
1. var sixDoubles = threeDoubles + anotherThreeDoubles
2. // sixDoubles 被推断为 Double[], 等于 [0.0, 0.0, 0.0, 2.5, 2.5, 2.5]
我们可以使用 for-in 循环来遍历所有数组中的数据项:
1. for item in shoppingList {
2. println(item)
3. }
4. // Six eggs
5. // Milk
6. // Flour
7. // Baking Powder
8. // Bananas
如果我们同时需要每个数据项的值和索引值,可以使用全局 enumerate 函数来进行数组遍历。enumerate 返回一个由每一个数据项索引值和数据值组成的键值对组。我们可以把这个键值对组分解成临时常量或者变量来进行遍历:
1. for (index, value) in enumerate(shoppingList) {
2. println("Item \(index + 1): \(value)")
3. }
4. // Item 1: Six eggs
5. // Item 2: Milk
6. // Item 3: Flour
7. // Item 4: Baking Powder
8. // Item 5: Bananas
创建并且构造一个数组
我们可以使用构造语法来创建一个由特定数据类型构成的空数组:
1. var someInts = Int[]()
2. println("someInts is of type Int[] with \(someInts。count) items。")
3. // 打印 "someInts is of type Int[] with 0 items。"(someInts是0数据项的Int[]数组)
注意 someInts 被设置为一个 Int[]构造函数的输出所以它的变量类型被定义为 Int[]。 除此之外,如果代码上下文中提供了类型信息, 例如一个函数参数或者一个已经定义好类型的常量或者变量,我们可以使用空数组语句创建一个空数组,它的写法很简单:[](一对空方括号):
1. someInts.append(3)
2. // someInts 现在包含一个 INT值
3. someInts = []
4. // someInts 现在是空数组,但是仍然是 Int[]类型的。
Swift 中的 Array 类型还提供一个可以创建特定大小并且所有数据都被默认的构造方法。我们可以把准备加入新数组的数据项数量(count)和适当类型的初始值(repeatedValue)传入数组构造函数:
1. var threeDoubles = Double[](count: 3, repeatedValue:0.0)
2. // threeDoubles 是一种 Double[]数组, 等于 [0.0, 0.0, 0.0]
因为类型推断的存在,我们使用这种构造方法的时候不需要特别指定数组中存储的数据类型,因为类型可以从默认值推断出来:
1. var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5)
2. // anotherThreeDoubles is inferred as Double[], and equals [2.5, 2.5, 2.5]
最后,我们可以使用加法操作符(+)来组合两种已存在的相同类型数组。新数组的数据类型会被从两个数组的数据类型中推断出来:
1. var sixDoubles = threeDoubles + anotherThreeDoubles
2. // sixDoubles 被推断为 Double[], 等于 [0.0, 0.0, 0.0, 2.5, 2.5, 2.5]
相关文章推荐
- [swift]的简单使用常量变量。字典 数组的初始化
- swift基础--数组、字典
- swift之创建数组,字典及其一些用法
- 13、swift开发iOS——数组
- Swift - 将字符串拆分成数组(把一个字符串分割成字符串数组)
- swift 第二节数组的创建、常用方法及数组便利
- Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法
- 十四 Swift3.0之 数组的其他操作
- Swift学习笔记(5)--数组
- swift-数组(Array)
- swift-数组array
- 关于swift for 循环 遍历数组删除元素的bug问题
- Swift 3.0 数组的语法小变动
- swift学习之数组
- [Swift 语法点滴]——数组参数
- swift-08-元组分解和数组
- swift-for循环遍历,遍历字典,循环生成数组
- Swift 4中一些实用的数组技巧小结
- 听说Swift很NB,那么来勉强学点(3.1)--集合类型数组
- swift 上传字符数组