初识 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: 😀
相关推荐
大熊猫侯佩9 天前
消失的它:摆脱 SwiftUI 中“嵌入视图数量不能超过 10 个”限制的秘密
swiftui·swift·apple
大熊猫侯佩9 天前
Swift 抛砖引玉:从数组访问越界想到的“可抛出错误”属性
swift·apple
大熊猫侯佩9 天前
ruby、Python 以及 Swift 语言关于 “Finally” 实现的趣谈
python·ruby·swift
minos.cpp9 天前
从厨房到代码台:用做菜思维理解iOS开发 - Swift入门篇①
ios·蓝桥杯·swift
山水域9 天前
Meta之 AMM 数据获取详解
swift
杂雾无尘9 天前
开发者必看,全面解析 iOS 架构,探索 iOS 背后的秘密!
ios·swift·apple
冯志浩10 天前
Swift:移除数组中的重复元素
swift·掘金·金石计划
东坡肘子10 天前
失去时才会觉得可贵 | 肘子的 Swift 周报 #090
swiftui·swift·apple
YungFan10 天前
iOS26适配指南之@Observable Object
ios·swift
杂雾无尘10 天前
不为人知的技巧:Swift 中用特有方法实现"黑魔法"方法交换
ios·swift·客户端