Swift中常用标准库函数的使用

来源:互联网 发布:mac 不能更新10.11.6 编辑:程序博客网 时间:2024/05/04 19:49
// 取绝对值abs(-10)var languages = ["Swift", "Objective-C"]// 判断序列中是否包含指定的字符串contains(languages, "Swift")// 去除序列中的第一个元素var oldLanguages = dropFirst(languages)equal(oldLanguages, ["Objective-C"])// 去除序列中的最后一个元素var firstLanguages = dropLast(languages)equal(firstLanguages, ["Swift"])// 对指定的序列中的元素进行闭包中的操作,然后返回新的序列let intArr = [1,2,3,4,5,6,7,8,9,0]let filterArr = filter(intArr, {    $0 % 2 == 0})// 返回序列中指定元素的位置find(languages, "Objective-C") == 1find(languages, "Java") == nilfind([29, 85, 42], 42) == 2// indices(sequence):返回sequence中所有元素的位置equal(indices([29,85,42]), [0,1,2])for i in indices([29, 85, 42]) {    println(i)}// join(separator, sequence):将序列sequence通过分隔符separator连成一个字符串join(":", ["A","B","C"])// map(sequence,transformClosure):对序列sequence中的每个元素都执行includeElementClosure闭包,并将所有闭包的结果合成一个新序列sequence并返回。equal(map(1...3, {    $0*5}), [5,10,15])// max(comparable1, comparable2, etc.)返回参数中最大的值max(8, 2, 3) == 8// maxElement(sequence): 返回序列sequence中的最大值maxElement([8, 2, 3])// minElement(sequence): 返回序列sequence中的最小值minElement([8, 2, 3])// reduce(sequence, initial, combineClosure):给定一个序列sequence和initial初始值,然后将initial和序列中的第一个元素作为参数传入到combineClosure中进行计算,得到的结构保存到initial中;然后再将initial和第二个元素传入到combineClosure中进行计算,etc.reduce(languages, "") {    $0+$1}reduce([10, 20, 5], 1) {    $0*$1}// reverse(sequence):返回逆序的序列sequencereverse([1,2,3])// startsWith(sequence1, sequence2): 如果sequence1中开头的元素和sequence2中的所有元素都相等,则返回truestartsWith([1,2,3], [1,2,3,5])//断言,参数如果为`true`则继续,否则抛出异常// assert mentioned on page 55assert(true)//计算序列的元素个数// countElements mentioned on page 79count("foo") == 3//返回一个新的序列,其中每个元素是一个元组,第一个值为原来元素所在的位置`index`,第二个为原来序列中的元素// enumerate mentioned on page 94for (i, j) in enumerate(["A", "B"]) {    // "0:A", "1:B" will be printed    println("\(i):\(j)")}
0 0