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]

 

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • typescript的泛型_泛型有什么用

    typescript的泛型_泛型有什么用泛型指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。引入下面创建一个函数,实现功能:根据指定的数量count和数据value,创建一个包

    2022年7月31日
    7
  • Nginx中sendfile的作用

    Nginx中sendfile的作用那么sendfile是什么东西,他是怎么影响性能的…… sendfile实际上是Linux2.0+以后的推出的一个系统调用,web服务器可以通过调整自身的配置来决定是否利用sendfile这个系统调用。先来看一下不用sendfile的传统网络传输过程:read(file,tmp_buf,len);write(socket,tmp_buf,len);硬盘&gt;&gt;…

    2022年6月6日
    39
  • griddata三维空间插值「建议收藏」

    griddata三维空间插值「建议收藏」利用griddata进行三维空间插值

    2022年5月26日
    37
  • 常用的CSS3选择器

    常用的CSS3选择器常用的CSS选择器CSS选择器的作用就是从HTML页面中找出特定的某类元素。常用的几类CSS选择器如下表所示。伪选择器比较特殊,分为伪元素和伪类元素两种。一、属性选择器1.E[att^=value]属性选择器E[att^=value]属性选择器是指选择名称为E的标记,且该标记定义了att属性,att属性值包含前缀为value的子字符串。需要注意的是E是可以省略的,如果省略则表示可以匹配…

    2022年7月11日
    14
  • 快手用户群体分析_抖音、快手竞品分析报告

    快手用户群体分析_抖音、快手竞品分析报告一、产品初步体验介绍体验环境:RedmiNote5A体验时间:2018.7体验人:Cinnamon抖音快手抖音的logo以暗黑色为底,一个大大的亮白立体音符占据中央,强调了抖音重点在于结合音乐,给人的第一感觉就是炫酷,符合年轻人的审美。快手的logo以黄色为主,是一个立体的摄像机,体现了快手重点在于记录。应用首页抖音的底部button遵循传统的排版:刷新-附近/推荐(首页)、关注、拍摄、消息和我…

    2022年5月10日
    87
  • iis服务器怎么设置exe网页,IIS环境服务器下网站防盗链具体怎么设置方法

    iis服务器怎么设置exe网页,IIS环境服务器下网站防盗链具体怎么设置方法IIS服务器防盗链具体怎么设置方法isapi_rewrite利用正则表达式进行替换规则的表示。进行正则表达式的编写的时候,可以利用isapi_rewrite提供的正则表达式测试工具(默认安装提供),进行调试。做好了匹配表达式和格式化表达式,我们可以把它们放到安装目录下的httpd.ini里面。文件保存后,不需重新启动iis即可生效。IIS服务器防盗链的方法是在httpd.ini里面加入如下语句Re…

    2022年7月23日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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