• Swift12-下标


    下标语法、下标用法、下标选项。

    下标可以定义在类、结构体和枚举中,是访问集合、列表或序列中元素的快捷方式。可使用下标的索引,设置和获取值1,而不需要再调用对应的存取方法。

    一个类型可以定义多个下标,通过不同索引类型进行重载。下标不限于一维,可以定义具有多个入参的下标满足自定义类型的需求。

    下标语法:

    定义下标使用subscript关键字,指定一个或多个输入参数和返回类型;与实例方法不同的是,下标可以设定为读写或只读。这种行为由getter和setter实现,有点类似计算属性。

    subscript( index: Int) -> Int {

      get{

        //

      }

      set{

        //

      }

    }

    newVaule的类型和下标的返回类型相同。如同计算型属性,可以不指定setter的参数(newValue)。如果不指定参数,setter会提供一个名为newValue的默认参数。

    getter无需参数。

    如同只读计算型属性,可以省略只读下标的get关键字:

    subscript( index: Int) -> Int {

      //return xxx

    }

    一个下标示例:

    struct name{
      let multiplier:Int
      subscript(index:Int)->Int{
        return index*multiplier
      }
    }
    let a=name(multiplier:3)
    print(a[9])

    下标用法:

    下标的确切含义取决于使用场景。下标通常作为访问集合,列表或序列中元素的快捷方式。

    例如,Swift的字典类型实现下标用于对其实例中储存的值进行存取操作。为字典设值时,在下标中使用和字典的键类型相同的键,并把一个和字典的值类型相同的值赋给这个下标。

    下标选项:

    下标可以接受任意数量的入参,并且这些入参可以是任意类型。下标的返回值也可以是任意类型。下标可以使用变量参数和可变参数,但不能使用输入输出参数,也不能给参数设置默认值。

    一个类或结构体可以根据自身需要提供多个下标实现,使用下标时将通过入参的数量和类型进行区分,自动匹配合适的下标,这就是下标的重载。

    接受单一入参的下标最常见,但也可以定义接受多个入参的下标。

    subcript(row:Int, column: Int) -> Int{

      get{

        return xxx

      }

    }

  • 相关阅读:
    java.lang.ClassNotFoundException: org.jaxen.JaxenException
    hdu 4882 ZCC Loves Codefires(贪心)
    C++ STL 源代码学习(之deque篇)
    算法导论学习笔记(2)-归并排序
    机器学习方法:回归(一):线性回归Linear regression
    HDU 2028 Lowest Common Multiple Plus
    C++11新特性应用--实现延时求值(std::function和std::bind)
    大数减法
    hive 运行sqlclient异常
    Oracle 12c agent install for windows
  • 原文地址:https://www.cnblogs.com/cjj-ggboy/p/12845996.html
Copyright © 2020-2023  润新知