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 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

Go语言interface详解

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

3557
来自专栏mySoul

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

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

602
来自专栏Golang语言社区

Golang 语言范围(Range)

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

3447
来自专栏IMWeb前端团队

玩转JavaScript正则表达式

Why Regular Expression 我们先来看看,我们干哈要学正则表达式这玩意儿: 复杂的字符串搜寻、替换工作,无法用简单的方式(类似借助标准库函数)...

2165
来自专栏Golang语言社区

Go 语言范围(Range)

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

34011
来自专栏Pythonista

Golang之面向对象和指针

854
来自专栏Golang语言社区

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

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

33910
来自专栏柠檬先生

你不知道的javaScript笔记(1)

规避冲突 function foo(){ function bar(a){ i = 3; console.log(a + i); } for ( v...

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

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

1746
来自专栏谈补锅

JS面向对象笔记二

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

1296

扫码关注云+社区