初识 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: 😀
相关推荐
良技漫谈1 天前
Rust移动开发:Rust在iOS端集成使用介绍
后端·程序人生·ios·rust·objective-c·swift
KeithTsui2 天前
ZFC in LEAN 之 前集的等价关系(Equivalence on Pre-set)详解
开发语言·其他·算法·binder·swift
袁代码2 天前
Swift 开发教程系列 - 第4章:函数与闭包
ios·swift·ios开发
安泽13143 天前
高德地图美食
开发语言·swift·美食
袁代码3 天前
Swift 开发教程系列 - 第2章:Swift 基础语法
swift·ios开发·基础教程
袁代码3 天前
Swift 开发教程系列 - 第1章:Swift 简介与开发环境配置
swift·ios开发·基础教程
孚亭4 天前
一些swift问题
swift
莫问alicia4 天前
echarts 实现3D饼状图 加 label标签显示
前端·3d·echarts·swift
uiop_uiop_uiop6 天前
iOS Swift5算法恢复——HMAC
ios·iphone·swift
東三城7 天前
【ios】---SwiftUI开发从入门到放弃
ios·swiftui·swift·1024程序员节