zoukankan      html  css  js  c++  java
  • 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

      }

    }

  • 相关阅读:
    和为S的连续正数序列
    丑数
    整数中1出现的次数(从1到n整数中1出现的次数)
    数据库常见面试题(非DBA方向)
    两个链表的第一个公共结点
    最小的k个数
    常用的排序
    离散数学(第2版)课后习题答案
    Java入门基础正式汇总
    数学物理方程 课后习题答案 清华大学出版社出版 姜玉山、徐延钦、王晓敏、张庆灵、刘超、李明维版 第2章 课后题答案与解析 复习提纲
  • 原文地址:https://www.cnblogs.com/cjj-ggboy/p/12845996.html
Copyright © 2011-2022 走看看