美文网首页
swift -- 基础(2元组续篇)

swift -- 基础(2元组续篇)

作者: 爱吃鱼的小灰 | 来源:发表于2017-09-21 14:32 被阅读13次
这次接着上一遍的元组继续写
  • 以前没有元组之前Object-C是通过传入指针或者是结构体的方式来返回多个值的,然而有了元组之后就可以实现让一个函数返回多个值
// 补充:
/**
*  元组的定义
*  一元元组,会将编译器优化为其实际元素的类型
*/
var t1 :(String) = ("我是字符串")// 等同于下边一行代码
//var t1 : String = "我是字符串"
// 可以缺省类型 var t1 = "我是字符串"
// 注意!!!:由于t1实际为String类型,因此t1.0的访问会报错
// 元组支持嵌套
var t_t : (String,(String ,Int)) = ("基本信息",("芳草天",25))
// 可以将元组的类型重定义为一个类型名
  typealias namedFinahsesType = (first:String,second:String,third:String)
  let namedFinshes:namedFinahsesType = ("芳草天","洲洲","25")

/*元组的数据访问*/
// 当元素未命名时,采用自然顺序访问,序号从0开始
var t2 = ("芳草天",25)
var names = t2.0
var ages = t2.1
print("name:\(names),age:\(ages)")

//当元素命名时,可以用命名访问数据,当然仍然可以使用序号访问
var t3 = (name:"洲洲",age:25)
names = t3.0//或者names = t3.name
ages = t3.age
print("name:\(names).age:\(ages)")

// 可以用多个变量同时进行访问
var t4 = (name:"芳草天洲洲",22)
var (name3,age3) = t4// 即可同时获取name,age
var (name, _) = t4// 不需要时参数可以缺省

// 注意:元组为数值类型。因此元组的copy是值copy
var t5 = (name:"路飞",18)
var t5_copy = t5
t5.name = "乔巴"
print("\(t5_copy.name)")// 打印结果:路飞

// 关于元组的访问级别
/**
* 元组的访问级别取决于它包含的元素,比如元组里的元素都是private级别的,那么该元组也是private级别
* 遵循最小原则,也就是说如果一个元组中有两个元素,一个private级别,另一个为public级别,那么该元组遵循最小原则,它的访问级别为private级别
*/
// 元组数据修改
// 虽然元组的数据不能增删,但是可以修改的
var t6 = (name:"芳草天洲洲",26)
t6.name = "李白"
print("\(t6.name)")// 打印李白
t6.name = "碧莲洲洲"
print("\(t6.name)")
// 但是数据类型不能改变
//t6.name = 30//报错

//如果是常量定义,元组的数据不能改变
let t7 = (name:"娜美",22)
// t7.name = "迦娜"// 报错
// 当然如果你指定数据类型为Any,这种情况下数据类型可以被改变
var t_any :(String,Any) = ("娑娜",18)
t_any.1 = "娑娜很大但是年龄小哦"// Any不限定数据类型
/** 元组与Array, Dictionary的组合定义**/

// 数组嵌套元素
var moneyArray:[(Int,String)] = [(20,"Cidy"), (18,"Nickle"), (14, "Quarter")]

// 字典嵌套元组
var userInfoDic:[String:(Int,String)] = ["cidy":(20,"girl"), "nickl":(15,"boy")]
print(userInfoDic) // 打印:["cidy": (20, "girl"), "nickl": (15, "boy")]

相关文章

  • swift -- 基础(2元组续篇)

    这次接着上一遍的元组继续写 以前没有元组之前Object-C是通过传入指针或者是结构体的方式来返回多个值的,然而有...

  • swift随笔

    基础部分 Swift 增加了 Objective-C 中没有的高阶数据类型比如元组(Tuple)。元组可以让你创建...

  • 语法进阶-元组

    ---参考Bannings的Swift 元组(Tuples)介绍 1. 元组的定义2.读取元组中的数据3.跳过不关...

  • Swift 基础笔记 - 元组

    元祖 元组是由2个或以上元素组成的复合类型,而且元组中每个元素的数据类型都可以不同 元组定义好后不能添加或减少元素...

  • swift基础—元组(Tuples)

    元组(tuples)把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。 下面这个例子中, (...

  • Swift基础之元组

    前面三篇文章里的东西不算什么奇淫巧技,爱码士们都不会陌生,甚至倒背如流者大有人在,然而,一门新的语言没有点新东西怎...

  • swift基础语法(元组)

    一、元组的介绍1、元组是Swift中特有的,OC中并没有相关类型2、它是什么呢?它是一种数据结构,在数学中应用广泛...

  • 5.元组(tuple)及可空类型(null_type)

    元组 kotlin_元组 swift_元组 可空类型 kotlin_可空类型 Swift可选/可空类型(Optio...

  • 2018-10-12

    C基础入门Python(二) 3、元组 1)创建元组 tuple1=('A','我') 2)元组的必要性 元组有很...

  • Swift超基础语法(元组篇)

    你对Swift中的元组了解多少呢?...很有自信嘛...看完这篇文章再说喽 元组 元组是Swift中特有的,OC中...

网友评论

      本文标题:swift -- 基础(2元组续篇)

      本文链接:https://www.haomeiwen.com/subject/vcdosxtx.html