使用 Playground 练习字符串,比较基础。
命名
文件 1-Values/2-Play with Values/B-Naming and Identifiers/Naming and Identifiers.playground 练习命名,命名简单,选择一个合适的名称却不简单,尤其在一些庞大的项目里,自己所知道的那些简单词汇可能都被用光了。也难怪 Swift 中好多方法名老长老长了。 在 Swift 中,可以用 emoji 作为名称,但不建议这么勇。
rust
let 🐶 = 8
let 🐱 = 4
let 🐹 = 2
let 🐢 = 3
let 🐍 = 1
let 🐷 = 1
let 🐟 = 1
let totalNumberOfAnimals = 🐶 + 🐱 + 🐹 + 🐢 + 🐍 + 🐷 + 🐟
let totalNumberOfMammals = 🐶 + 🐱 + 🐹 + 🐷
字符串
字符串由多个字符组成,包括大小写字母、数字、标点符号、特殊字符,甚至空格、Tab 符。
- 定义字符串
ini
let favoriteBook = "Atomic Habits"
Unicode
Unicode 是一种字符编码标准,用于在计算机系统中表示和处理文本的字符。它支持包括拉丁字母、希腊字母、西里尔字母、中文、日文、韩文等在内的几乎所有已知的书写系统。为了实际存储和传输文本数据,Unicode 定义了不同的编码方案,最常见的是 UTF-8、UTF-16 和 UTF-32。这些编码方案将 Unicode 的代码点映射到不同长度的字节序列,以便在计算机中存储和处理文本。
- UTF-8:使用变长字节编码,通常用一个字节表示 ASCII 字符,用多个字节表示其他字符。
- UTF-16:使用固定长度的 16 位编码,用两个字节表示大部分常见字符,而一些罕见字符需要四个字节。
- UTF-32:使用固定长度的 32 位编码,每个字符都占用四个字节。 在字符串中使用 Unicode 字符
bash
let sayHiWithChinese = "你好"
let 英文问候 = "hi"
let fruits = "🍓🍏🍒🍐🍇🍉🥭"
控制台
控制台在开发过程中经常用于调试代码、输出日志信息和执行临时操作。通过控制台,我们可以查看和修改变量的值、调用函数和方法,以及输出调试信息和错误消息。它是我们与代码交互的一种方式,可以提供实时的反馈和调试功能。 可以通过这三种方式打开它。
- Xcode 右下角的小图标按钮
- 通过菜单 View > Debug Area > Show Debug Area
- 快捷键 Shift-Command-Y (Shift-⌘-Y)
代码测试
bash
print("Testing, one two three.")
可以看到,不仅仅在右侧的结果区有输出,同时在 Debug Area 也会输出这段字符串。
连接字符串
使用+号
ini
let user = "Wang DaChui"
let fruit = "Apple"
// 注意 likes 两边的字符串
let whatPeopleLike = user + " likes " + fruit
将变量 name 和 age 嵌入到字符串
字符串插值(String Interpolation)是 Swift 中的一种特性,它允许你在定义字符串时包含占位符,稍后会用值来填充这些占位符。你可以使用字符串插值来创建包含变量、常量、表达式和字面量的字符串。插值表达式使用反斜杠和括号来包裹占位符,并在运行时将其替换为相应的值。
swift
let name = "Alice"
let age = 25
// 使用字符串插值创建包含变量和字面量的字符串
let message = "My name is \(name) and I'm \(age) years old."
print(message)
// 输出:My name is Alice and I'm 25 years old.
转义
字符串需要双引号来包含,那如果你想定义一个包含引号的字符串怎么办? 转义引号:你可以在字符串中使用反斜杠(\)来转义引号,告诉编译器这些引号是字符串的一部分,而不是字符串的终止符号。
vbnet
let str1 = "This is a string with \"double quotes\"."
print(str1)
// 输出:This is a string with "double quotes".
当你输入一个转义字符(escape character)后面跟着一个特殊处理的字符时,你正在创建一个转义序列(escape sequence)。 常见的转义序列包括:
- ":双引号
- ':单引号
- \:反斜杠
- \n:换行符
- \t:制表符
- \r:回车符
- \u{}:Unicode 标量,你可以在花括号内放置一个 Unicode 编码来表示一个字符
示例
swift
let str1 = "This is a string with \"double quotes\"."
let str2 = "This is a string with a new line.\nThis is the second line."
let str3 = "This is a string with a Unicode smiley face: \u{1F600}"
print(str1)
print(str2)
print(str3)
输出
vbnet
This is a string with "double quotes".
This is a string with a new line.
This is the second line.
This is a string with a Unicode smiley face: 😀