var str = "Hello, playground"复制代码
#####取前3个字符
str.prefix(3) // Hel复制代码
#####取后3个字符
str.suffix(3) // und复制代码
#####遍历字符串
var swift = "Swift 很有趣"for (index , value) in swift.enumerated(){ print("index is \(index), value is \(value)")}复制代码
#####插入字符串
if let index = swift.index(of: " "){ swift.insert(contentsOf: " 3.0", at: index) // Swift 3.0 很有趣}复制代码
######替换字符串
if let index = swift.index(of: "很"){ swift.replaceSubrange(index ..< swift.endIndex, with: "is interesting!") // Swift 3.0 is interesting!}复制代码
######字符串切片,获取interesting
swift.suffix(12).dropLast() // interesting复制代码
######字符串切片,按照空格分隔
swift.split(separator: " ") // ["Swift", "3.0", "is", "interesting!"]复制代码
######奇数位切割,只取偶数
var i = 0let singles = swift.split { _ in if i > 0 { i = 0 return true }else{ i = 1 return false } return false}singles.map(String.init) // ["S", "i", "t", "3", "0", "i", " ", "n", "e", "e", "t", "n", "!"]复制代码
######Tuple
let success = ("1", "2")let failed = ("2.0.9", "3.0.0")success.0 < failed.0复制代码
forin
for _ in 0 ..< 5{ print(i) // 0,1,2,3,4}复制代码
#####数组
let array = [1,2,3,4,5] // 不可变数组var array = [1,2,3,4,5] // 可变数组复制代码
######每个元素相乘
// 每个元素相乘let constSquares = array.map{ $0 * $0}复制代码
取得数组里面最小的元素
constSquares.min() // 1复制代码
######取得数组里最大的元素
constSquares.max() // 25复制代码
######排序
constSquares.sorted(by:>) // 从大到小排序 25,16,9,4,1constSquares.sorted(by:<) ,constSquares.sorted()// 从小到大排序 1,4,9,16,25复制代码
######筛选满足条件的元素
// 选出偶数let even = constSquares.filter{ $0 % 2 == 0} // 4,16// filter语义的常用操作是判断数组中是否存在满足条件的元素let contain = array.filter { $0 % 2 == 0}.count > 0 // true复制代码
######遍历数组
// 遍历数组的每一个元素constSquares.forEach{ print($0) // 1,4,9,16,25}复制代码
######contains(判断数组是否包含满足条件的元素)
// contains的一个好处就是只要遇到满足条件的元素,函数的执行就终止了array.contains{ $0 % 2 == 0} // true(是否包含偶数)复制代码
######reduce
array.reduce(0, +) // 计算数组里的和 15复制代码
######Map
map用于将每个数组元素通过某个方法进行转换。复制代码
######Filter
filter用于选择数组元素中满足某种条件的元素。复制代码
######Reduce
reduce方法把数组元素组合计算为一个值。复制代码