Swift3创建数组

Swift3创建数组数组是由一组类型相同的元素构成的有序数据集合。数组中的集合元素是有序的,而且可以重复出现。1 数组创建在Swift语言中,数组的类型格式为:Array或[ElementType]其中Array中的ElementType表示数组的类型,是泛型写法。[ElementType]是一种简写方式。两者表示的功能是一样的,我们更偏向于使用简写形式,本书里所有数组类型都是使用简写形式。下

大家好,又见面了,我是你们的朋友全栈君。  
Swift3创建数组

数组是由一组类型相同的元素构成的有序数据集合。数组中的集合元素是有

序的,而且可以重复出现。

数组创建

Swift语言中,数组的类型格式为:

Array<ElementType>或[ElementType]

其中Array<ElementType>中的ElementType表示数组的类型,< ElementType >是泛型写法。[ElementType]是一种简写方式。两者表示的功能是一样的,我们更偏向于使用简写形式,本书里所有数组类型都是使用简写形式。

下面我们来创建一个String类型的数组

  1 |  var strArray1: Array<String>

  2 |  let strArray2: [String]

在声明一个数组的时候可以使用let和var进行修饰,其中let表示不可变数组,var表示可变数组。

    1行代码声明了一个类型为Array<String>的可变数组strArray1。<String>是泛型,说明在这个数组中只能存放字符串类型的数据。

    2行代码声明了一个类型为[String]的不可变数组strArray2。[String]也是声明一个只能存放字符串类型的数组。

接下来我们来学习如何创建一个空数组。

  1 |  var emptyStrs= [String]()

  2 |  let emptyInts = [Int]()

创建一个数组需要对数组进行声明和初始化。上述第1行代码我们创建了一个String类型可变空数组emptyStrs。其中我们var声明表示该数组是可变数组,中括号[]里面的值String表示数组的类型。[String]()是对数组进行初始化,只不过没有任何元素。

2行代码与第1行代码同样是创建一个空数组emptyInts,区别在于我们用let声明了一个不可变数组,该数组的类型是Int类型。let声明的数组是不可变数组,必须在声明的同时进行初始化,一旦初始化,就不可以被修改。

最后我们来学习如何创建非空数组。示例代码如下:

  1 |  var strArray1: Array<String> = [“hello”,”swift”]

  2 |  var strArray2: [String] =  [“hello”,”swift”]

  3 |  let strArray3 = [“hello”,”swift”,15]

上述代码都是对数组进行声明和初始化,数组的类型是通过冒号(:)指明数组的类型。数组中的元素由一对中括号([])括起来,数组中的元素之间用逗号分隔。

1行代码是使用标准模板方式声明是一个String类型的可变数组strArray1,并初始化值为[“hello”,”swift”]。其中尖括号<String>表示数组的类型,表示strArray1只能存放String类型的元素。

2行代码是采用简写形式显式声明可变数组strArray2。[String]表示数组的类型,表示strArray2只能存放String类型的元素。

3行代码声明了一个不可变数组,这里没有指明数组的类型,采用的是隐式推断。根据初始化数组的值推断出数组的类型。在strArray3数组中我们存放了String类型的”hello”,”swift”以及Int类型的15。在没有明确指定数组类型,我们可以在数组中存放不同类型的元素。

不可变数组在访问效率上比可变数组要高,可变数组通过牺牲访问效率换取可变。当我们可以确定数组是不需要修改的,我们应该将它声明为let。如果数组内容需要改变。我们需要将它声明为var。

此外,如果数组中存储多个相同的元素,我们可以通过以下方法快速创建该数组:

 1 |  var threeDoubles = Array(repeating: 0.0, count: 3)

此时threeDoubles数组的内容为[0.0,0.0,0.0]

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140624.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 绘制PR曲线[通俗易懂]

    绘制PR曲线[通俗易懂]一、获取txt文件运行darknet官方代码中的darknetdetectorvaliddatacfgweight指令(例如:darknet.exedetectorvaliddata/koujian/koujian.datacfg/yolov3-tiny11.cfgbackup/yolov3-tiny11_last.weights),可以在result/目录下得到网络检测的输出txt文件:包括检测的图像名字、类别、概率、边界框位置(左上角和右下角):二.新建两个文件:rev

  • 携程 爬虫_python自动化和爬虫先学哪个

    携程 爬虫_python自动化和爬虫先学哪个一、查看chrome版本浏览器:chrome://version/二、下载传送门url:http://chromedriver.storage.proxy.ustclug.org/index.html根据自己的版本进行下载放入C:\ProgramFiles\Google\Chrome\Application三、由于携程

    2022年10月31日
  • Azure虚拟机中使用Tracert/Traceroute/MTR(My Traceroute)的原理讨论

    Azure虚拟机中使用Tracert/Traceroute/MTR(My Traceroute)的原理讨论命令:mtrXXX.XXX.XXX.XXX效果: 如果加上-n参数可以显示IP而不是反向解析成域名:例如mtr-nXXX.XXX.XXX.XXX mtr的工作原理:利用IP报文头部的TTL值来进行探测 我们以目标IP为106.120.78.190为例:抓包见附件,我们看到如下的交互过程:前4个报文展开来看:第一个:第二个:

  • 二分法 matlab应用,MATLAB算法の二分法[通俗易懂]

    从今起准备连续多期介绍一些常用的算法,通过不断实践“算法到程序”这一过程来学习matlab编程,久而久之就可做到熟能生巧。今天要介绍的是二分法,它是一种古老且经典的、蕴含深刻哲理的算法。我们知道现实物理世界是有限的,而抛开物理意义却又是无限可分的,而二分法就是基于这种无限可分思想,可以说它是连接有限与无限的纽带。今天主要介绍二分法在数学寻根中的应用,毕竟为的是将算法程序化。要求单调函数f(x)在区…

  • 完全卸载Office_vs卸载不了也安装不了了

    完全卸载Office_vs卸载不了也安装不了了  手动卸载步骤:   VisualStudioExpressEditions进入控制面板,运行添加或删除程序 卸载”MSDNLibraryforVisualStudio2005Beta” 卸载”MicrosoftSQLServer2005ExpressEdition” 卸载”MicrosoftSQLServer2005ToolsExpressEdition” 卸载”MicrosoftSQLNativeClient” 卸载”DMATranspor

  • Linux防火墙关闭命令

    1.启动防火墙systemctlstartfirewalld2.禁用防火墙systemctlstopfirewalld3.设置开机启动systemctlenablefirewalld4.停止并禁用开机启动sytemctldisablefirewalld5.重启防火墙firewall-cmd–reload在linus上部署了项目,有时候会发现防火墙会拦截浏览器上发起的请求,这时候只需要执行第2个命令,把防火墙关闭即可…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号