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)  //会报错
  • 相关阅读:
    [计算机基础]回调函数
    [Android学习笔记]双缓冲绘图技术
    [数据结构和算法]折半插入排序算法笔记
    为Eclipse添加Java和Android SDK源代码
    Eclipse Tips
    Eclipse常用插件
    [数据结构]基本概念2
    Nginx中让 重写后的路径 自动增加斜线 /
    mysql 断电 启动不了 start: Job failed to start
    uglifyjs 压缩js
  • 原文地址:https://www.cnblogs.com/crazygeek/p/5512839.html
Copyright © 2011-2022 走看看