swift3的第一印象

swift study.jpeg

1.常量和變量
由于swift中特性的類型推動,不用特意給變量確定類型:
var 定義變量
let 定義常量(不被修改)

2.String類型
對于String類型,開發者團隊最重要的一個設計目標就是盡可能保持這個類型在Unicode上的語意正確.即String已經徹底不再是一個集合類型,而是一個提供了從多個維度展現一個Unicode視圖的類型.你可以得到它的多個Characters,可以看到它的UTF-8/UTF-16/Unicode scalar值等.
徹底忘了String是一個字符數組這樣的事情吧!讓自己用全新的方式去理解現如今我們需要處理的字符.

如下為String的一些基本操作:

let cafe = "Caf\u{00e9}"
cafe.characters.count //獲取字符的個數

cafee.characters.startIndex //獲取字符串開始的索引
cafee.characters.endIndex //獲取字符串的結束索引

let index = cafee.index(cafee.characters.startIndex, offsetBy: 3)
cafee[index] //獲取當前索引的字符串

//獲取相應范圍內的字符串
let beg = cafee.startIndex
let end = cafee.index(beg, offsetBy: 3)
cafee[beg ..< end]

//獲取前綴
String(cafee.characters.prefix(3))

var mixStr = "swift很好玩"

//字符串的遍歷
for (index, value) in mixStr.characters.enumerated() {
    print("\(index) \(value)")
}

for values in mixStr.characters {
    print("\(values)")
}
//字符串的插入
if let index = mixStr.characters.index(of: "很") {
    mixStr.insert(contentsOf: " 3.0".characters, at: index)
}

//字符串的替換
if let cnIndex = mixStr.characters.index(of: "很") {
    mixStr.replaceSubrange(cnIndex ..< mixStr.endIndex, with: " is interesting!")
}

//字符串切片
String(mixStr.characters.suffix(12).dropLast())
//字符串按空格進行分割,得到一個分割后的數組
mixStr.characters.split(separator: " ").map(String.init)

//如下是按字符分割
var i = 0
mixStr.characters.split{ _ in
    if i > 0 {
        i = 0
        return true
    }
    else
    {
        i += 1
        return false
    }
    
}.map(String.init)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容