Swift的下标相当有意思,使用和数组或字典一样(会不会混淆呀,哈哈)
下标主要用于快速访问某个元素
struct TimesTable {
let multiplier: Int
subscript(index: Int) -> Int {
return multiplier * index
}
}
var timesTable = TimesTable(multiplier: 5)
timesTable[5]
定义时,我们需实现subscript方法,输入和返回不限类型,可以是各种类型,还能这么玩
struct TimesTable {
let multiplier: Int
subscript(index: String) -> Int {
return multiplier * (index.characters.count)
}
}
var timesTable = TimesTable(multiplier: 5)
timesTable["hellos"]
使用时,像访问数组或字典一样,值需要传入subscript方法输入类型。
我们实现subscript方法时,还能传入多个参数
struct Intradution {
let name = ["Johan", "John", "Jack"]
let age = [10, 20, 30]
subscript(nameIndex: Int, ageIndex: Int) -> String {
return "hello, i am \(name[nameIndex]), age is \(age[ageIndex])"
}
}
var intradution = Intradution()
intradution[1, 2]