美文网首页OCer To Swifter
三、字符串和字符 && 四、集合类型 && 五、控制流

三、字符串和字符 && 四、集合类型 && 五、控制流

作者: 黄祯鑫 | 来源:发表于2020-08-28 10:43 被阅读0次

字符串和字符重点:

  • Swift 的 String 和 Character 类型提供了一种快速且兼容 Unicode 的方式来处理代码中的文本内容。
  • Swift 的 String 类型与 Foundation NSString 类进行了无缝桥接。Foundation 还对 String 进行扩展使其可以访问 NSString 类型中定义的方法。这意味着调用那些 NSString 的方法,你无需进行任何类型转换。
  • 字符串字面量是由一对双引号包裹着的具有固定顺序的字符集。

  • 特殊字符需要转义。 \0(空字符)、\(反斜线)、\t(水平制表符)、\n(换行符)、\r(回车符)、"(双引号)、'(单引号)。Unicode 标量,写成 \u{n},例如 \u{2665}
  • 若不需转义,将字符串放在引号(")中并用数字符号(#)括起来
print(#"a\0b"#)  //输出: a\"b
print("a\"b") //  输出:a"b
  • 初始化空字符串
var emptyString = ""               // 空字符串字面量
var anotherEmptyString = String()  // 初始化方法
// 两个字符串均为空并等价。
  • 在 Swift 中 String 类型是值类型,进行常量、变量赋值操作,或在函数/方法中传递时,会进行值拷贝

  • 字符类型Character
  • 字符串拼接 <String> + <String> 、<String>.append(<String or Character>)
  • 字符串插值,可以在其中包含常量、变量、字面量和表达式。写法为 "\(<插值>)"
  • Swift 中 String 基于 Unicode 标量,使用 count 计算字符串中Character的数量,如"🐨"在 Swift 中 count 为1,而在 OC 中 length 为2。

  • 字符串索引 String.Index
  • 插入一个字符 insert(_:at:) 插入一个段字符串insert(contentsOf:at:)
  • 删除一个字符remove(at:) 删除一个子字符串removeSubrange(_:)
  • 子字符串Substring

  • 比较字符串:字符串字符相等、前缀相等和后缀相等

如果两个字符串(或者两个字符)的可扩展的字形群集是标准相等,那就认为它们是相等的。只要可扩展的字形群集有同样的语言意义和外观则认为它们标准相等,即使它们是由不同的 Unicode 标量构成。


集合类型

官方文档集合类型

Swift 语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用来存储集合数据。数组是有序数据的集。集合是无序无重复数据的集。字典是无序的键值对的集。

Note:
Swift 的 Array、Set、Dictionary 被桥接到 Foundation 中对应的 NSArray、NSSet、NSDictionary 类型。

所以集合类型的使用大体与 OC 一致,但仍应尽量使用 Swift 中的集合类型。

控制流

官方文档https://swiftgg.gitbook.io/swift/swift-jiao-cheng/05_control_flow#for-in-loops

  • for-in循环、while、repeat-while(do-while)循环
  • 条件语句 if-else、 switch。

在 Swift 中使用switch时, break 不是必须的。switch提供了更加丰富和强大的功能,在学习枚举时会具体介绍。

  • 控制转移语句

    1. continue:使本次循环结束,重新开始下次循环
    2. break:循环体中使用 break 时,会立刻中断该循环体的执行;switch 代码块中使用 break 时,会立即中断该 switch 代码块的执行。
    3. fallthrough:执行完一个 case 不跳出,进入下一个 case 中继续执行
    4. return:在函数章节讨论
    5. throw:在错误抛出章节讨论
  • 带标签的语句
    使用标签(statement label)来标记一个循环体或者条件语句,对于一个条件语句,你可以使用 break 加标签的方式,来结束这个被标记的语句。对于一个循环语句,你可以使用 break 或者 continue 加标签,来结束或者继续这条被标记语句的执行。

  • 检测 API 可用性

if #available(iOS 10, macOS 10.12, *) {
    // 在 iOS 使用 iOS 10 的 API, 在 macOS 使用 macOS 10.12 的 API
} else {
    // 使用先前版本的 iOS 和 macOS 的 API
}

相关文章

  • 三、字符串和字符 && 四、集合类型 && 五、控制流

    字符串和字符重点: Swift 的 String 和 Character 类型提供了一种快速且兼容 Unicode...

  • 初识Java

    一、注释 二、数据类型 三、 运算符 四、字符串 五、控制流程 六、数组

  • Swift基础语法

    Swift初体验 基本数据类型 变量和常量 控制流 可选值 空合运算符 字符串 数组 字典 集合 函数 外部参数名...

  • 目录

    程序执行流程 注释 数据类型 变量 输入与输出 基本运算符 控制流 数值 字符串 列表 元组 字典 集合 迭代器 ...

  • Redis数据结构

    Redis的数据结构 五种数据类型 字符串(String) 哈希(hash) 字符串列表(list) 字符串集合(...

  • 作为python初学者,你最应该掌握的python基础知识

    1. 数据类型和数据结构 整数、浮点数、字符串、布尔值、空值 变量和常量 列表、元组 字典、集合 2. 控制流 条...

  • Swift 语法基础

    Swift 基础## 目录 控制流的代码优化 字符串代码注意 swift 的数组 字典和集合 函数

  • 「笔记」Redis 数据类型

    Redis 可以存储键和不同类型的值之间的映射。键的类型只能为字符串,值常见有五种数据类型:字符串、列表、集合、散...

  • C++(一)

    一、Hello World 编译 执行 二、字符串 字符串拼接 字符串打印 三、输入输出 四、集合 创建集合 打印...

  • Swift Strings and Characters

    字符串是字符的有序集合,如 hello, world 和 albatross。Swift中字符串类型使用Strin...

网友评论

    本文标题:三、字符串和字符 && 四、集合类型 && 五、控制流

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