美文网首页
swift3的第一印象

swift3的第一印象

作者: 茄子_Apple | 来源:发表于2017-05-19 01:40 被阅读10次
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)

相关文章

网友评论

      本文标题:swift3的第一印象

      本文链接:https://www.haomeiwen.com/subject/wsbexxtx.html