Swift 字面量表达

什么是字面量:简洁明了的指出自己的类型并且能为变量赋值的值

// xiaoming  false  都是字面量
let name = "xiaoming"
let ok = false
// 字典 数组 使用字面量
let nums:Array = ["1","2","3"];
let dic = ["name":"xxx"];

Swift 提供了一组协议 使用字面量来表达特定的类型

  • 对于那些实现了字面量表达协议的类型,在提供字面量赋值的时候,就可以简单的按照协议方法中定义的规则
  • 通过赋值的方式将值表达为对应类型 ,这些协议包含了原生的字面量
  • 其实每一个字面量表达式内部都有一个初始化方法

//实现一个字面量

class Dog:ExpressibleByStringLiteral{
    
    let name : String
    typealias StringLiteralType = String
    
    required init(stringLiteral value: String) {
        
        self.name = value
    }
    
}

//通过字符串来初始化一个类
let d : Dog = "123"

print(d.name)

这也就说明了 为什么Dictionary和Array 通过字面量直接进行初始化

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。