什么是字面量:简洁明了的指出自己的类型并且能为变量赋值的值
// 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)
网友评论