美文网首页
subscripts(下标)

subscripts(下标)

作者: 西门丨不吹雪 | 来源:发表于2016-09-05 17:27 被阅读14次

subscripts(下标): 访问对象中数据的快捷方式
所谓下标脚本语法就是能够通过, 实例[索引值]来访问实例中的数据
类似于以前我们访问数组和字典, 其实Swift中的数组和字典就是一个结构体

Array:      subscript (index: Int) -> T
Dictionary: subscript (key: Key) -> Value?
arr[0] == arr.subscript(0)
dict["key"] == dict.subscript("key")

struct Student {
   var name:String = "lnj"
   var math:Double = 99.0
   var chinese:Double = 99.0
   var english:Double = 99.0

func score(course:String) ->Double?
{
    switch course{
        case "math":
            return math
        case "chinese":
            return chinese
        case "english":
            return english
        default:
            return nil
    }
}
// 要想实现下标访问, 必须实现subscript方法
// 如果想要通过下标访问, 必须实现get方法
// 如果想要通过下表赋值, 必须实现set方法
subscript(course:String) ->Double?{
    get{
        switch course{
        case "math":
            return math
        case "chinese":
            return chinese
        case "english":
            return english
        default:
            return nil
        }
    }
    set{
        switch course{
        case "math":
            // 因为返回的是可选类型
            math = newValue!
        case "chinese":
            chinese = newValue!
        case "english":
            english = newValue!
        default:
            print("not found")
        }

    }
}
}
var stu = Student(name: "zs", math: 99.0, chinese: 88.0, english: 10.0)
print(stu.score("math"))
stu["chinese"] = 100.0
print(stu["chinese"])

Swift中是允许多索引的下标的

struct Mul {
   subscript(a:Int, b:Int) -> Int
   {
    return a * b
   }
}
var m = Mul()
print(m[3, 5])

相关文章

  • Subscripts(下标)

    //离上次学习swift过了好久,这才刚开始学习swift呀,坚持。 //下标//“下标可以定义在类、结构体和枚举...

  • subscripts(下标)

    subscripts(下标): 访问对象中数据的快捷方式所谓下标脚本语法就是能够通过, 实例[索引值]来访问实例中...

  • Subscripts (下标)

    Classes, structures, and enumerations can definesubscript...

  • 下标脚本(Subscripts)

    用下标脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index] ,访问字典(Dict...

  • 12 Subscripts 下标

    类、结构和枚举可以定义下标,下标是访问集合、列表或序列的成员元素的快捷方式。您可以使用下标按索引设置和检索值,而不...

  • 05 来,自定义一个swift的subscript

    本文参考原文为Implementing Custom Subscripts in Swift,欢迎阅读原文。 下标...

  • Swift-下标(Subscripts)

    类,结构和枚举可以定义下标,它们是访问集合,列表或序列的成员元素的快捷方式。 您可以使用下标来按索引设置和检索值,...

  • Swift Structures and Classes, St

    common: 属性定义 方法定义 定义下标 (subscripts), [] 定义初始函数 扩展的使用 协议的使...

  • Swift下标访问-Subscript

    subscripts(下标)是访问对象数据中的快捷方式,所谓下标脚本语法就是能够通过,实例[索引值]来访问实例中的...

  • swift的结构体和类之下标和继承

    Subscripts(下标) 类、结构体和枚举类型都可以定义下标作为访问诸如集合、列表、序列元素的快捷方式。在没有...

网友评论

      本文标题:subscripts(下标)

      本文链接:https://www.haomeiwen.com/subject/epirettx.html