最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

通讯!Swift中常见的String用法,Array高阶使用,Set集合操作

来源:博客园


(相关资料图)

String字符串常见用法生成字符串
创建字符串let greeting = "Hello, world!"let name = String("John")连接字符串:使用加号(+)或者字符串插值(使用())来将多个字符串连接起来。var firstName = "John"let lastName = "Doe"let fullName = firstName + " " + lastName // "John Doe"let fullName1 = firstName.append(lastName) // "My name is John Doe."let message = "My name is \(fullName)." // "My name is John Doe."
子字符串查询,替换,插入,删除
查找子字符串let sentence = "Swift is a powerful and intuitive programming language."if sentence.contains("Swift") {    // do something}let range = sentence.range(of: "powerful") // Optional(Range(10..<18))var str3 = "123456"print(str.hasPrefix("123"))print(str.hasSuffix("456"))替换字符串var sentence = "Swift is a powerful and intuitive programming language."sentence = sentence.replacingOccurrences(of: "powerful", with: "amazing")字符串删除// 666hello_2_3_8884str4.remove(at: str4.firstIndex(of: "1")!)// hello_2_3_8884str4.removeAll { $0 == "6" }var range = str4.index(str4.endIndex, offsetBy: -4)..字符串转数组
字符串分割let names = "John, Jane, Jim"let arr = names.components(separatedBy: ", ") // ["John", "Jane", "Jim"]
字符串转其他
let str = "123"let num = Int(str) // Optional(123)let uppercased = str.uppercased() // "123"
Array数组高阶操作map:对给定数组每个元素,执行闭包中的映射,将映射结果放置在数组中返回。flatMap:对给定数组的每个元素,执行闭包中的映射,对映射结果进行合并操作,然后将合并操作后的结果放置在数组中返回。compactMap:对给定数组的每个元素,执行闭包中的映射,将非空的映射结果放置在数组中返回。compactMap:对给定数组的每个元素,执行闭包中的映射,将非空的映射结果-键值对放置在字典中返回。filter:对给定数组的每个元素,执行闭包中的操作,将符合条件的元素放在数组中返回。reduce:对给定数组的每个元素,执行闭包中的操作对元素进行合并,并将合并结果返回。
var arr = [1, 2, 3, 4]// [2, 4, 6, 8]var arr2 = arr.map { $0 * 2 }print(arr2)// [2, 4]var arr3 = arr.filter { $0 % 2 == 0 }print(arr3)// 10var arr4 = arr.reduce(0) { $0 + $1 }print(arr4)// 10var arr5 = arr.reduce(0, +)print(arr5)
Set集合操作集合创建
let setA = Set(["a","b","c"])let setB: Set = ["a","b","c"]
增删改查
setA.contains("a")setA.insert("c")setA.remove("a")
集合运算
let set1 = Set([1,2,3])let set2 = Set([1,2])//运算判断if set1 == set2 {    }// 子集,超集判断set2.isSubset(of: set1)set1.isSuperset(of: set2)// 并集,交集set1.union(set2)set1.intersection(set2)

关键词: