Swift Array VS Tuples

1、当我们在Array中放置不同类型的数据时,我们无法再对每个数据的type做定义。
["小明",[90,87,88.5,95,78]]可以被修改为[1,[90,87,88.5,95,78]],而1显然不是正确的名字格式

元组可以定义元素的类型

var tuple : (String, Array) = ("小明",[90,87,88.5,95,78])

元组嵌套元组每一个元素的类型都可以定义

var tuple : (String, (Float,Float,Float,Float,Float)) = ("小明",(90,87,88.5,95,78))
2、数组个数可能发生改变,可增加删除元素
name_score.append("添加一个字符串")
name_score.removeAtIndex(1)

元组一旦定义,其元素个数确定,不能增加、删除

3、数组套字典必须定义key,而元组不需要。当然,如有必要,你还可以为每个元素命名
var tuple = (name:"小明",[90,87,88.5,95,78])
tuple.name 等同于 tuple.0
4、字典的存储顺序不确定,而元组是固定的

tupe 更安全

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏谈补锅

JS面向对象笔记二

注意点:当构造函数里面有return关键字时,如果返回的是非对象,new命令会忽略返回的信息,最后返回时构造之后的this对象;   如果return返回的是与...

2016
来自专栏Golang语言社区

Go语言interface详解

interface Go语言里面设计最精妙的应该算interface,它让面向对象,内容组织实现非常的方便,当你看完这一章,你就会被interface的巧妙设计...

3669
来自专栏Golang语言社区

Go语言interface详解

interface Go语言里面设计最精妙的应该算interface,它让面向对象,内容组织实现非常的方便,当你看完这一章,你就会被interface的巧妙设计...

3637
来自专栏mySoul

通过css类/选择器选取元素 文档结构和遍历 元素树的文档

尽管如此,js还定义了一个方法,即一个getElementsByClassName(),是基于class属性值中的标识符来选取成组的文档元素

742
来自专栏数据结构与算法

33判断字符串是否为回文

33:判断字符串是否为回文 总时间限制: 1000ms 内存限制: 65536kB描述 输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串...

3499
来自专栏Golang语言社区

Golang 语言范围(Range)

Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。在数组和切片中它返回元...

3487
来自专栏Golang语言社区

【Go 语言社区】Go 语言范围(Range)

Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。在数组和切片中它返回元...

34410
来自专栏Golang语言社区

Go 语言范围(Range)

Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。在数组和切片中它返回元...

34911
来自专栏用户2442861的专栏

css选择器中:first-child与:first-of-type的区别

http://www.cnblogs.com/2050/p/3569509.html

751
来自专栏雪胖纸的玩蛇日常

老男孩Python全栈开发(92天全)视频教程 自学笔记06

1896

扫码关注云+社区