swift——复合类型——tuple

tuple

tuple只是简单的组合不同对象,tuple对成员个数,成员类型无任何要求,因此tuple可组合任意个数,任何类型对象

应用

func tuple()
{
    let food0_1: () = ()
    let food0_2 = ()
    //let food0_3: () = Void
    print("food0_1 = \(food0_1)")
    print("food0_2 = \(food0_2)")
    
    let food1_1: (Int) = (5)
    let food1_2: (Int) = 8
    let food1_3: Int = food1_2
    //let food1_4: (Int) = (5: "rice")
    print("food1_1 = \(food1_1)")
    print("food1_2 = \(food1_2)")
    print("food1_3 = \(food1_3)")
    //print("food1_1: \(food1_1.0)")
    
    let food2_1: (Int, String) = (5, "rice")
    let food2_2 = (id: 8, name: "meat")
    let food2_3: (Int, String) = (id: 18, name: "fruit")
    print("food2_1 = \(food2_1)")
    print("food3_2 = \(food2_2)")
    print("food3_3 = \(food2_3)")
    print("food2_1: \(food2_1.0), \(food2_1.1)")
    print("food2_2: \(food2_2.0), \(food2_2.1)")
    print("food2_2: \(food2_2.id), \(food2_2.name)")
    print("food2_3: \(food2_3.0), \(food2_3.1)")
    //print("food2_3: \(food2_3.id), \(food2_3.name)")
    
    let (id1, name1) = food2_1
    let (id2, name2) = food2_2
    let (id3, name3) = food2_3
    print("food1: \(id1), \(name1)")
    print("food2: \(id2), \(name2)")
    print("food3: \(id3), \(name3)")
}
output:
food0_1 = ()
food0_2 = ()
food1_1 = 5
food1_2 = 8
food1_3 = 8
food2_1 = (5, "rice")
food3_2 = (8, "meat")
food3_3 = (18, "fruit")
food2_1: 5, rice
food2_2: 8, meat
food2_2: 8, meat
food2_3: 18, fruit
food1: 5, rice
food2: 8, meat
food3: 18, fruit

总结

  • tuple类型用()表示
  • 空tuple类型为(),字面值常量亦为()
  • 只包含1个成员tuple本质为对应类型,(Int)本质为Int,因此对只包含1个成员tuple不可使用索引,亦不可自定义成员名
  • 对多个成员tuple,可使用索引访问成员,亦可自定义成员名,但显式指定类型tuple则不允许通过成员名访问
  • 可解散tuple把其成员初始化或赋值多个对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值