字符串
7.3 簡單的正則表達(dá)式匹配器您访。
7.4 ExpressibleByStringLiteral
這一節(jié)主要是用一個(gè)Demo來證明字符串的切片也是字符串
這一點(diǎn)是多么的有用到旦!
然鵝送淆。烤惊。梢为。swift 3.2后廢棄了Characters
榴芳,我還能怎么樣罩句。谍憔。 我寫半天沒啥用匪蝙。主籍。
我找兩個(gè)有用的知識(shí)點(diǎn)寫寫啊。
剛剛仔細(xì)研讀了半天逛球,發(fā)現(xiàn)也沒啥知識(shí)點(diǎn)千元。。 溜了溜了颤绕。幸海。
下面是的是7.4中的一些知識(shí)點(diǎn):
知識(shí)點(diǎn)1:String(“abc”) 和 “abc”是不同的“挛瘢“abc”是字符串字面量
什么叫字面量物独?
let aBool = true
let aString = “abc”
let aNumber = 3
這種不用定義類型 而直接知道類型
的就是字面量。
我們可以通過BooleanLiteralConvertible
協(xié)議來寫自己的Bool類型汗洒。類似的String
Array
都有對應(yīng)的方法议纯。具體實(shí)現(xiàn)很簡單。不贅述溢谤。大概知道有這個(gè)用法瞻凤。需要的時(shí)候查資料就行。
知識(shí)點(diǎn)2: 關(guān)于ExpressibleByStringLiteral的騷操作
ExpressibleByStringLiteral有什么用世杀?
通過字面意思(字符串)實(shí)例化指定類
阀参。
在實(shí)際開發(fā)中,我們需要?jiǎng)?chuàng)建一個(gè)URL應(yīng)該如下
let urls = URL(string: "https://www.liaoworking.com")
現(xiàn)在我們可以通過ExpressibleByStringLiteral 來用一種意想不到的方式去創(chuàng)建一個(gè)URL
extension URL: ExpressibleByStringLiteral {
public init(stringLiteral value: String) {
guard let url = URL(string: "\(value)") else {
preconditionFailure("This url: \(value) is not invalid")
}
self = url
}
下一次當(dāng)你創(chuàng)建URL的時(shí)候可以這樣 瞻坝,有沒有狂拽炫酷吊炸天??
let url: URL = "https://www.liaoworking.com"
不過在實(shí)際開發(fā)中當(dāng)然不建議這樣去用
啦~ 閱讀成本太高蛛壳。
你信不信你的工友拿手機(jī)掄你哈哈。
今天是圣誕夜??所刀,各位swift路上的工友衙荐,圣誕快樂。