zoukankan      html  css  js  c++  java
  • Swift

    元组(tuples):把多个值组合成一个复合值,元组是Objective-C中没有的数据类型,与数组类似,都是表示一组数据的集合,但与数组不同,它的特点是:

    • 元组的长度任意
    • 元组中的数据可以是不同的数据类型

    元组的定义很简单,用小括号括起来,然后以逗号隔开就可以了

    直接上代码:

     1 //MARK: - 元组
     2 //定义一个元组
     3 //方法一:直接初始化一个元素(使用Swift隐式转换的特点)
     4 let tuples = ("苹果",["iOS","html5","Android"])  //tuples 的类型是(String,Array), 值是("苹果",["iOS","html5","Android"])
     5 print(tuples)
     6 //方法二:显示初始化的方式
     7 let tuples1 : (String,Array) = ("安卓",["iOS","html5","Android"])
     8 print(tuples1)
     9 //*注* 关于元组类型的说明:你可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型。只要你想,你可以创建一个类型为(Int, Int, Int)或者(String, Bool)或者其他任何你想要的组合的元组
    10 
    11 //取出元组中的值
    12 //第一种取值方式:直接把元组赋值给另外一个常量,根据相关的标记进行取值
    13 let tuples_new : (appStyle:String,course:Array) = tuples
    14 var classInfo = tuples_new.appStyle + tuples_new.course[0] + tuples_new.course[1] + tuples_new.course[2]
    15 print(classInfo)
    16 
    17 //第二种取值方式:直接根据下标进行取值
    18 let classInfoNew = tuples_new.0 + tuples_new.1[0] + tuples_new.1[1] + tuples_new.1[2]
    19 print(classInfoNew)

    可变元组和不可变元组

    用var定义的元组就是可变元组,let定义的就是不可变元组。不管是可变还是不可变元组,元组在创建后就不能对其长度进行增加和删除之类的修改,只有可变元组能在创建之后修改元组中的数据

    1 var superTuples = (name:"asd", 12, ["111", "222"])
    2 superTuples.name = "qwe"
    3 print(superTuples.name)  //会打印name变成qwe
    4 
    5 let superTuples = (name:"asd", 12, ["111", "222"])
    6 superTuples.name = "qwe"
    7 print(superTuples.name)  //会报错

    需要注意的是,可变元组虽然可以修改数据,但却不能改变其数据的数据类型

    1 var superTuplesType = (name:"asd", 12, ["111", "222"])
    2 superTuplesType.name = 1
    3 print(superTuples.name)  //会报错
  • 相关阅读:
    NYOJ 38布线问题
    NYOJ 106背包问题
    基于贪心算法的几类区间覆盖问题 nyoj 12喷水装置(二) nyoj 14会场安排问题
    HDOJ 2546饭卡(01背包问题)
    FBI树-数据结构(二叉树)
    二叉树遍历(flist)(二叉树,已知中序层序,求先序)
    求先序排列(二叉树已知中序和后序,求先序)
    滑雪(dp)
    Python——plot可视化数据,作业8(python programming)
    数据库SQL语言学习----左外连接,右外连接,外连接,自然连接的形象对比
  • 原文地址:https://www.cnblogs.com/crazygeek/p/5512839.html
Copyright © 2011-2022 走看看