📜  Swift下标

📅  最后修改于: 2021-01-11 07:59:04             🧑  作者: Mango

Swift4下标

在Swift4中,下标是用于访问列表,序列或集合的元素的快捷方式。下标用于通过索引而不是编写函数来设置或检索值。

例如:

Array[Index], Dictionary[Key] 

下标可以是单个或多个类型声明。根据用户对其输入数据类型声明的要求,它的范围也从一维到多维。

句法:

下标的语法与计算的属性相同。对于类型实例的查询,下标被写在方括号内,后跟实例名称。

subscript(index: Int) ?> Int {
   get {
      // Declare subscript value here
   }
   set(newValue) {
      // Write the definitions here
   }
}

例:

struct subscriptexample {
   let decrementer: Int
   subscript(index: Int) -> Int {
      return decrementer / index
   }
}
let division = subscriptexample(decrementer: 100)
print("The number is divisible by \(division[2]) times")
print("The number is divisible by \(division[3]) times")
print("The number is divisible by \(division[4]) times")
print("The number is divisible by \(division[5]) times")
print("The number is divisible by \(division[6]) times") 

输出:

The number is divisible by 50 times
The number is divisible by 33 times
The number is divisible by 25 times
The number is divisible by 20 times
The number is divisible by 16 times

范例2:

class daysofaweek {
   private var days = ["Sunday", "Monday", "Tuesday", "Wednesday",
      "Thursday", "Friday", "Saturday"]
   subscript(index: Int) -> String {
      get {
         return days[index]
      }
      set(newValue) {
         self.days[index] = newValue
      }
   }
}
var p = daysofaweek()
print(p[0])
print(p[1])
print(p[2])
print(p[3])
print(p[4])
print(p[5])
print(p[6])

输出:

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

下标重载

在Swift4中,下标可以接受属于任何数据类型的单个到多个输入参数。定义多个下标称为下标重载,其中一个类或结构可以提供多个下标定义。