Swift在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,更高效的运行,点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
类型转换Demo 发布于:2021-11-08 17:03 闭包引起的相互应用导致内存泄漏问题 发布于:2021-11-08 16:49 无主引用解决相互引用导致的内存泄漏问题 发布于:2021-11-08 16:35 使用弱引用解决循环引用导致的内存泄漏 发布于:2021-11-08 16:28 循环引用导致的内存无法释放 发布于:2021-11-08 16:27 嵌套函数 传递值 发布于:2021-09-24 19:27 定义参数 各种类型 发布于:2021-09-24 19:26 定义类和创建实例 发布于:2021-09-24 19:25 s双色球的运行代码 发布于:2021-09-23 17:13 比较代码的不同 发布于:2021-09-23 17:05 判断和符号 发布于:2021-09-23 17:04 定义和赋值 发布于:2021-09-23 17:03 元组的类型 发布于:2021-09-23 17:03 case的使用方法必须存在可执行的代码 发布于:2021-09-23 17:00 字典的用法 发布于:2021-09-23 17:01 创建空集合和创建集合赋值 插入 insert() 循环 for ...in 删除 remove() 包含 contains() 发布于:2021-09-23 14:46 是完数的代码 发布于:2021-09-23 17:10 一年中的第几天 发布于:2021-07-12 00:16 无重复的三位数 发布于:2021-07-12 00:03 三位水仙花数计算 发布于:2021-07-11 23:47 罗列出范围内质数 发布于:2021-07-11 23:29 Swift数据结构: 链表(Linked List) 发布于:2021-06-27 18:03 swift数据结构:树 发布于:2021-06-25 10:21 面向协议编程 发布于:2021-06-24 17:58 泛型约束试验 发布于:2021-06-23 18:06 泛型试验案例 发布于:2021-06-23 16:45 异常处理及 App 的生命周期:error协议 发布于:2021-06-28 14:22 用协议建立规则 protocol 发布于:2021-06-23 14:55 多线程:存储和 CPU 的运作方式 发布于:2021-06-22 17:11 class类和Enumeration枚举的使用 发布于:2021-06-22 16:41 结构体的运用 发布于:2021-06-22 15:12 我的代码! 发布于:2020-11-18 11:54 string test 发布于:2020-12-01 10:46 第一个swift测试类 发布于:2020-07-21 18:45 [更多]
显示目录

数组



Swift 数组

Swift 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。

Swift 数组会强制检测元素的类型,如果类型不同则会报错,Swift 数组应该遵循像Array这样的形式,其中Element是这个数组中唯一允许存在的数据类型。

如果创建一个数组,并赋值给一个变量,则创建的集合就是可以修改的。这意味着在创建数组后,可以通过添加、删除、修改的方式改变数组里的项目。如果将一个数组赋值给常量,数组就不可更改,并且数组的大小和内容都不可以修改。


创建数组

我们可以使用构造语法来创建一个由特定数据类型构成的空数组:

var someArray = [SomeType]()

以下是创建一个初始化大小数组的语法:

var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)

以下实例创建了一个类型为 Int ,大小为 3,初始值为 0 的空数组:

var someInts = [Int](count: 3, repeatedValue: 0)

以下实例创建了含有三个元素的数组:

var someInts:[Int] = [10, 20, 30]

访问数组

我们可以根据数组的索引来访问数组的元素,语法如下:

var someVar = someArray[index]

index 索引从 0 开始,及索引 0 对应第一个元素,索引 1 对应第二个元素,以此类推。

我们可以通过以下实例来学习如何创建,初始化,访问数组:

import Cocoa

var someInts = [Int](count: 3, repeatedValue: 10)

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

以上程序执行输出结果为:

第一个元素的值 10
第二个元素的值 10
第三个元素的值 10

修改数组

你可以使用 append() 方法或者赋值运算符 += 在数组末尾添加元素,如下所示,我们初始化一个数组,并向其添加元素:

import Cocoa

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

以上程序执行输出结果为:

第一个元素的值 20
第二个元素的值 30
第三个元素的值 40

我们也可以通过索引修改数组元素的值:

import Cocoa

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

// 修改最后一个元素
someInts[2] = 50

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

以上程序执行输出结果为:

第一个元素的值 20
第二个元素的值 30
第三个元素的值 50

遍历数组

我们可以使用for-in循环来遍历所有数组中的数据项:

import Cocoa

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs.append("W3CSchool")
someStrs += ["Google"]

for item in someStrs {
   print(item)
}

以上程序执行输出结果为:

Apple
Amazon
W3CSchool
Google

如果我们同时需要每个数据项的值和索引值,可以使用 String 的 enumerate() 方法来进行数组遍历。实例如下:

import Cocoa

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs.append("W3CSchool")
someStrs += ["Google"]

for (index, item) in someStrs.enumerate() {
   print("在 index = \(index) 位置上的值为 \(item)")
}

以上程序执行输出结果为:

在 index = 0 位置上的值为 Apple
在 index = 1 位置上的值为 Amazon
在 index = 2 位置上的值为 W3CSchool
在 index = 3 位置上的值为 Google

合并数组

我们可以使用加法操作符(+)来合并两种已存在的相同类型数组。新数组的数据类型会从两个数组的数据类型中推断出来:

import Cocoa

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

for item in intsC {
   print(item)
}

以上程序执行输出结果为:

2
2
1
1
1

count 属性

我们可以使用 count 属性来计算数组元素个数:

import Cocoa

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

print("intsA 元素个数为 \(intsA.count)")
print("intsB 元素个数为 \(intsB.count)")
print("intsC 元素个数为 \(intsC.count)")

以上程序执行输出结果为:

intsA 元素个数为 2
intsB 元素个数为 3
intsC 元素个数为 5

isEmpty 属性

我们可以通过只读属性 isEmpty 来判断数组是否为空,返回布尔值:

import Cocoa

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = [Int]()

print("intsA.isEmpty = \(intsA.isEmpty)")
print("intsB.isEmpty = \(intsB.isEmpty)")
print("intsC.isEmpty = \(intsC.isEmpty)")

以上程序执行输出结果为:

intsA.isEmpty = false
intsB.isEmpty = false
intsC.isEmpty = true
由JSRUN为你提供的Swift在线运行、在线编译工具
        JSRUN提供的Swift在线运行,Swift 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

注册登录后可减少验证码的弹出,点击前往 注册 | 登录

皮肤:

运行模式:

嵌入代码 iframe嵌入: