- 1.字符串String類型更加人性化,多行字符串文字,支持Range缓熟,也算集合類型
1.字符串
let name = "Hi,swift"
print(name.count)
print(name.isEmpty)
print(name.dropFirst())//去掉第一個元素,生成一個新元素(i,swift)
print(name.dropLast())//去掉最后一個元素生成一個新元素(Hi,swif)
print(name.dropFirst(Int(name.count-3)))
let time = "2017-12-26 16:40:45:33"
print(time.dropLast(Int(time.count-10)))
let mstr = String(name.reversed())//倒序元素
print(mstr)
//倒序reversed
let arr = ["1","2","3","4"]
for (_,item) in arr.enumerated().reversed() {
print(item)
}
//多行文字,通過一對三個雙引號直接來賦值----- """ 要輸入的文字在這對三引號之間 """
/// plist格式
let plistInfo = """
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<array>
<dict>
<key>title</key>
<string>相機</string>
<key>imageName</key>
<string>http://img.blog.csdn.net/20170217102843795</string>
</dict>
</array>
</plist>
"""
/// JSON格式
let jsonInfo = """
{
"data": {
"title": "apple"
"phone": "10086"
"creat_at": "2017-10-11"
}
}
"""
//古詩詞
let poetry = """
《沁園春·雪》
北國風光梢卸,千里冰封走诞,萬里雪飄。
望長城內(nèi)外蛤高,惟馀莽莽蚣旱;大河上下,頓失滔滔戴陡。
山舞銀蛇塞绿,原馳蠟象,欲與天公試比高恤批。
須晴日异吻,看紅妝素裹,分外妖嬈喜庞。
江山如此多嬌涧黄,
引無數(shù)英雄競折腰。
惜秦皇漢武赋荆,略輸文采笋妥;唐宗宋祖,稍遜風騷窄潭。
一代天驕春宣,成吉思汗,只識彎弓射大雕嫉你。
俱往矣月帝,數(shù)風流人物,還看今朝幽污。
"""
print(plistInfo)
print(jsonInfo)
print(poetry)
//2便捷的Range
var str = "Hello,swift!"
var index = str.index(of: ",")
let greeting = str.prefix(upTo: index!)
print(greeting)//Hello
index = str.index(index!, offsetBy: 2)
let name1 = str.suffix(from: index!)
print(name1)
print(Array(str.enumerated()).count)
for (_,item) in Array(str.enumerated()).enumerated() {
print(item)
}
//zip函數(shù)可以更改數(shù)字下標從1開始計數(shù)
print(Array(zip(1..., str)))//zip
//集合用法
// 字符串可以像集合那樣進行遍歷嚷辅,直接通過.count知道字符串個數(shù)
var str1 = "Hello, swift!"
print(str1.characters.count) // Swift3.0 寫法
print(str1.count) // Swift4.0 寫法
/// 遍歷
str1.forEach { (item) in
print(item)
}
str1.forEach {
print($0)
}
- 2.改進的private的訪問權(quán)限,私有訪問修飾符
Swift 3的一個元素距误,一些不太喜歡的是添加fileprivate 簸搞。 從理論上講,這是非常好的准潭,但實際上它的使用往往會令人困惑趁俊。 目標是在成員本身中使用private的,并且在您想要在同一文件中的成員共享訪問的情況下很少使用fileprivate刑然。 問題是Swift鼓勵使用擴展將代碼分解成邏輯組寺擂。 擴展被認為在原始成員聲明范圍之外,這導致對fileprivate的廣泛需求。
struct SpaceCraft {
private let warpCode : String
fileprivate var name : String = "swift"
init(warpCode: String) {
self.warpCode = warpCode
}
}
let enterprise = SpaceCraft(warpCode: "It's swift")
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者