swift swift中的小动态类型系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift swift中的小动态类型系统相关的知识,希望对你有一定的参考价值。
//playground for dynamic runtime system in swift
enum DynObject {
case int(Int)
case string(String)
case bool(Bool)
indirect case list([DynObject])
indirect case map([String:DynObject])
//multiple initializers for fast wrapping
init(element:Int) {
self = DynObject.int(element)
}
init(element:String) {
self = DynObject.string(element)
}
init(element:Bool) {
self = DynObject.bool(element)
}
init(element:[DynObject] = [DynObject]()) {
self = DynObject.list(element)
}
init(element:[String:DynObject] = [String:DynObject]()) {
self = DynObject.map(element)
}
}
func + (a:DynObject, b:DynObject) -> DynObject {
switch a {
case .int(let first):
switch b {
case .int(let second):
return DynObject(element:first + second)
default:
return DynObject(element:0)
}
default:
return DynObject(element:0)
}
}
var a = DynObject(element:4)
var b = DynObject(element:3)
a + b
//7
以上是关于swift swift中的小动态类型系统的主要内容,如果未能解决你的问题,请参考以下文章
swift 类型系统 Self self Type
Swift - 从 Nib 实例化总是返回 UIViewController 类型而不是动态类型
Swift 算法实战:动态规划
Swift 根据响应类型为 JSON 字段值动态选择 Codable 结构
Swift 动态原型行高
反射 Mirror | Swift 动态性