首页 > 其他分享 >无涯教程-Swift - Subscripts(下标)

无涯教程-Swift - Subscripts(下标)

时间:2024-01-29 14:31:43浏览次数:76  
标签:Subscripts 下标 mat Int 无涯 times divisible print Swift

Subscripts下标可以访问类,结构和枚举中的集合,序列和列表的元素成员。这些下标用于在索引的帮助下存储和检索值。在someArray [index]的帮助下访问数组元素,而在Dictionary中的后续成员元素可以作为someDicitonary [key]访问。

下标声明语法

 " subscript"关键字用于定义,用户可以使用其返回类型指定单个或多个参数,Subscript下标可以具有读写属性,也可以具有只读属性,并且的存储和检索借助" getter"和" setter"属性。

subscript(index: Int) -> Int {
   get {
      //获取获取数据
   }
   set(newValue) {
      //用于写入数据
   }
}

下标声明 - 示例1

struct subexample {
   let decrementer: Int
   subscript(index: Int) -> Int {
      return decrementer/index
   }
}
let division=subexample(decrementer: 100)

print("The number is divisible by\(division[9]) times")
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[5]) times")
print("The number is divisible by\(division[7]) times")

运行上述程序时,我们得到以下输出-

The number is divisible by 11 times
The number is divisible by 50 times
The number is divisible by 33 times
The number is divisible by 20 times
The number is divisible by 14 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])

运行上述程序时,我们得到以下输出-

Sunday
Monday
Tuesday
Wednesday

下标中的选项

Subscripts下标采用单个或多个输入参数,并且这些输入参数也属于任何数据类型,他们还可以使用变量和可变参数,Subscripts下标不能提供默认参数值或使用任何输入输出参数。

struct Matrix {
   let rows: Int, columns: Int
   var print: [Double]
   init(rows: Int, columns: Int) {
      self.rows=rows
      self.columns=columns
      print=Array(count: rows * columns, repeatedValue: 0.0)
   }
   subscript(row: Int, column: Int) -> Double {
      get {
         return print[(row * columns) + column]
      }
      set {
         print[(row * columns) + column]=newValue
      }
   }
}
var mat=Matrix(rows: 3, columns: 3)

mat[0,0]=1.0
mat[0,1]=2.0
mat[1,0]=3.0
mat[1,1]=5.0

print("\(mat[0,0])")

运行上述程序时,我们得到以下输出-

1.0

Swift 4 Subscripts下标针对适当的数据类型支持单个参数到多个参数的声明,该程序将"矩阵"结构声明为2 * 2维数组矩阵,以存储"双精度"数据类型。 

矩阵的新是通过将行数和列数传递给初始化来创建的,如下所示。

var mat=Matrix(rows: 3, columns: 3)

可以通过将行和列值传递到Subscripts下标(以逗号分隔)来定义矩阵值,如下所示。

mat[0,0]=1.0  
mat[0,1]=2.0
mat[1,0]=3.0
mat[1,1]=5.0

参考链接

https://www.learnfk.com/swift/swift-subscripts.html

标签:Subscripts,下标,mat,Int,无涯,times,divisible,print,Swift
From: https://blog.51cto.com/u_14033984/9465126

相关文章

  • 无涯教程-Swift - Method(方法)
    在Swift4语言中,与特定类型关联的函数称为"方法"。在ObjectiveC中,类用于定义方法,而Swift4语言为用户提供了具有类,结构和枚举方法的灵活性。实例方法在Swift4语言中,可通过方法访问Class,Structures和Enumeration。方法可以写在{}花括号内,它具有对类型的方法和属性的隐式访问,......
  • 无涯教程-Swift - Properties(属性)
    Swift4语言为类,枚举或结构提供属性以关联值。存储属性Swift4引入了存储属性的概念来存储常量和变量的,常量的存储属性由'let'关键字定义,变量的存储属性由'var'关键字定义。在定义期间,存储的属性提供"默认值"初始化期间,用户可以初始化和修改初始值structNumber{var......
  • 无涯教程-Swift - Struc(结构)
    Swift4提供了一个灵活的构建块,可以将结构struct用作结构,通过使用这些结构,可以一次定义构造方法和属性。结构语法Structuresaredefinedwitha'Struct'Keyword.structnameStruct{Definition1Definition2---DefinitionN}结构定义如假设我们必须访......
  • 无涯教程-Swift - 集合(Sets)
    Swift4Sets用于存储相同类型的不同值,但它们没有数组的确定顺序,如果要确保没有重复的值,则可以使用Set集合而不是数组。创建Set集您可以使用以下初始化语法创建一个特定类型的空集-varsomeSet=Set<Character>()//字符可以替换为set的数据类型。访问和修改您可以使用......
  • 无涯教程-Swift - 数组
    Swift4数组用于存储相同类型的值的有序列表。如果将创建的数组分配给变量,则它始终是可变的,这意味着您可以通过添加,删除或更改其元素来对其进行更改;但是,如果将数组分配给常量,则该数组是不可变的,并且其大小和内容无法更改。创建数组您可以使用以下初始化器语法创建某种类型的空......
  • 无涯教程-Swift - 循环语句
    在某些情况下,您需要多次执行一个代码块。通常,语句是按顺序执行的:函数中的第一个语句首先执行,然后第二个执行,依此类推。循环语句使我们可以多次执行一个语句或一组语句。以下是大多数编程语言中循环语句的概述-Swift4编程语言提供了以下种类的循环来处理循环需求。Sr.NoLoop......
  • 无涯教程-Swift - 条件判断
    件判断结构要求程序员根据一个或多个要条件判断,如果条件为true时要执行的一个或多个语句,否则执行其它语句。以下是在大多数编程语言中找到的典型决策结构的概述-Swift4提供以下类型的决策声明。单击以下链接以查看其详细信息。Sr.NoStatement&描述1ifstatementif语......
  • 无涯教程-Swift - 运算符
    运算符是一个符号,告诉编译器执行特定的数学或逻辑操作,Swift包含丰富的内置运算符,并提供以下类型的运算符-算术运算符比较运算符逻辑运算符按位运算符范围运算符其它运算符本教程将逐一说明算术,关系,逻辑,按位,赋值和其他运算符。算术运算符下表显示了Swift4语言支持的所......
  • 无涯教程-Swift - 常量
    常数是指程序在执行过程中不得更改的固定值,常量可以是任何基本数据类型,如整数常量,浮点常量,字符常量或字符串文字,还有枚举常量。常量与常规变量一样,只是其值在定义后不能修改。常量声明使用常量之前,必须使用let关键字声明它们,如下所示:letconstantName=<initialvalue>以......
  • 无涯教程-Swift - 元组(Tuples)
    Swift4还引入了Tuples元组类型,该类型用于将多个值组合在单个复合值中,元组中的值可以是任何类型,并且不必是同一类型。如,("LearnFK",123)是一个具有两个值的元组,一个值是字符串Type,另一个是整数类型。这是元组声明的语法-varTupleName=(Value1,value2,…anynumberofval......