下标

下标,第1张

概述说起下标的作用对于数组和字典来说并不用陌生,但在Swift中所有的类型都支持下标。用下标可以很方便的访问对象的具体值。 语法格式 使用subscript关键字定义下标subscript(形参列表)->下标返回值类型{ get{ //getter部分执行体,该部分必须有返回值}[set(形参名){//setter部分执行体,该部分一定不能有返回值}]} set部分:set部分可

说起下标的作用对于数组和字典来说并不用陌生,但在Swift中所有的类型都支持下标。用下标可以很方便的访问对象的具体值。

语法格式
使用subscript关键字定义下标subscript(形参列表)->下标返回值类型{  get{ //getter部分执行体,该部分必须有返回值}[set(形参名){//setter部分执行体,该部分一定不能有返回值}]}
set部分:set部分可定义一段执行性代码,这段代码用于对下标赋值。Swift允许定义只读下标,因此可以省略set部分,set部分形参代表了通过下标赋值时传入的新值,当然可以省略set部分形参,会提供隐式的形参名:newValue。 get部分:这段代码将返回下标的值。

注意:定义下标时只能省略set部分,不能省略get部分。Swift只支持只读下标,并不支持“只写下标”

struct Rect    {        var x:Int        var y:Int        var wIDth:Int        var height:Int        subscript(IDx:Int )->Int            {            get {                switch(IDx)                {                case 0:                    return self.x                case 1:                    return self.y                case 2:                    return self.wIDth                case 3:                    return self.height                default:                    print("不支持")                    return 0                }            }            set{                switch(IDx)                {                case 0:                    self.x=newValue                case 1:                    self.y=newValue                case 2:                    self.wIDth=newValue                case 3:                    self.height=newValue                default:                    print("不支持该索引值")                }            }        }    }} var rect=Rect(x:20,y:12,wIDth:200,height:300)  rect[0]=40    rect[1]=67    print("\(rect[0],rect[1])")
下标重载

一个类型可以包括多个下标,只要多个下标的形参列表不同(形参数量或者形参类型不同)或者返回值类型不同即可,这种功能成为下标重载。
同一个类型可以定义多个下标,Swift允许通过下标参数列表或返回值类型来区分不同的下标,同一个类型中定义多个不同的下标称为下标重载。

总结

以上是内存溢出为你收集整理的下标全部内容,希望文章能够帮你解决下标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1079961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存