swift——复合类型——tuple

来源:互联网 发布:上位机编程语言 编辑:程序博客网 时间:2024/06/14 06:30

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 = 5food1_2 = 8food1_3 = 8food2_1 = (5, "rice")food3_2 = (8, "meat")food3_3 = (18, "fruit")food2_1: 5, ricefood2_2: 8, meatfood2_2: 8, meatfood2_3: 18, fruitfood1: 5, ricefood2: 8, meatfood3: 18, fruit

总结

  • tuple类型用()表示
  • 空tuple类型为(),字面值常量亦为()
  • 只包含1个成员tuple本质为对应类型,(Int)本质为Int,因此对只包含1个成员tuple不可使用索引,亦不可自定义成员名
  • 对多个成员tuple,可使用索引访问成员,亦可自定义成员名,但显式指定类型tuple则不允许通过成员名访问
  • 可解散tuple把其成员初始化或赋值多个对象
0 0
原创粉丝点击