初识 Swift:字符串示例

使用 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: 😀
相关推荐
一丝晨光11 小时前
继承、Lambda、Objective-C和Swift
开发语言·macos·ios·objective-c·swift·继承·lambda
KWMax1 天前
RxSwift系列(二)操作符
ios·swift·rxswift
Mamong1 天前
Swift并发笔记
开发语言·ios·swift
小溪彼岸1 天前
【iOS小组件】小组件尺寸及类型适配
swiftui·swift
Adam.com2 天前
#Swift :回调地狱 的解决 —— 通过 task/await 来替代 nested mutiple trailing closure 来进行 回调的解耦
开发语言·swift
Anakki2 天前
【Swift官方文档】7.Swift集合类型
运维·服务器·swift
KeithTsui2 天前
集合论(ZFC)之 联合公理(Axiom of Union)注解
开发语言·其他·算法·binder·swift
東三城3 天前
【ios】---swift开发从入门到放弃
ios·swift
文件夹__iOS6 天前
[SwiftUI 开发] @dynamicCallable 与 callAsFunction:将类型实例作为函数调用
ios·swiftui·swift
没头脑的ht6 天前
用Swift实现验证回文字符串
swift