Swift 5.1 极简参考手册

本文概述了Swift 5.1的主要概念,包括声明常量和变量、数值类型转换、字符串操作、元组、可选项、集合类型、控制流、函数、闭包、枚举、结构体、类、扩展、错误处理和访问控制等。通过实例展示了如何使用这些特性进行编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文由 漫慢忙 翻译自 raywenderlich 教程 Swift 5.1 Cheat Sheet and Quick Reference ,请参考原文阅读

声明常量和变量

• 使用 let 关键字声明一个常量

let double: Double = 2.0
// double = 3.0 // 错误:不能给常量重新赋值
let inferredDouble = 2.0 // 推断为一个 Double 类型
复制代码

• 使用 var 关键字声明一个变量

var mutableInt: Int = 1
mutableInt = 2 // OK: 可以给一个变量重新赋值
复制代码

数值类型转换

let integerValue = 8
let doubleValue = 8.0
//let sum = integerValue + double // 错误:类型不匹配
复制代码

• 使用显式的方法来防止隐藏的转换错误并有助于明确类型转换意图

let sum = Double(integerValue) + double // OK: 两个值有相同类型
复制代码

字符串

• 使用字符串字面量来初始化一个常量或变量

let helloWorld = "Hello, World!"
复制代码

• 使用多行字符串字面量来跨越多行

let helloWorldProgram = """
A "Hello, World!" program generally is a computer program
that outputs or displays the message "Hello, World!"
"""
复制代码

• 空字符串

let emptyString = "" // 使用字符串字面量
let anotherEmptyString = String() // 初始化语法
复制代码

• 修改字符串

var mutableString = "Swift"
mutableString += " is awesome!"
复制代码

• 字符串插值

print("The value is \(double)") // 插入一个 Double 值
print("This is my opinion: \(mutableString)") // 插入一个字符串
复制代码

元组

• 将多个值组合为一个复合值

let httpError = (503, "Server Error")
复制代码

• 分解元组的内容

let (code, reason) = httpError

// 另一种分解方式
let codeByIndex = httpError.0
let reasonByIndex = httpError.1
复制代码

• 使用 _ 来忽略元组的某些部分

let (_, justTheReason) = httpError
复制代码

可选项

• catchphrase 可以包含 String 或 nil

var catchphrase: String? // 由编译器自动设置为nil
catchphrase = "Hey, what's up, everybody?"
复制代码

• 强制解包操作符 (!)

// 如果 catchphrase 不是nil,count1 包含 catchphrase 的计数值;
// 否则程序崩溃
let count1: Int = catchphrase!.count
复制代码

• 可选绑定

// 如果 catchphrase?.count 返回的可选 Int 包含一个值,
// 则将一个称为 count 的新常量设置为可选中包含的值
if let count = catchphrase?.count {
  print(count)
}
复制代码

• 合并操作符(??)

// 如果 catchphrase 不是 nil,count2 包含 catchphrase 的 count 值; 否则为 0
let count2: Int = catchphrase?.count ?? 0
复制代码

• 链式操作符(?)

// 如果 catchphrase 不是nil,count3 包含 catchphrase 的 count 值; 否则为 nil
let count3: Int? = catchphrase?.count
复制代码

• 隐式展开的可选值

let forcedCatchphrase: String! = "Hey, what's up, everybody?"
let implicitCatchphrase = forcedCatchphrase // 无需使用感叹号
Swift 是编写程序的绝佳选择,无论是手机、电脑还是服务器,任何能跑代码的设备都是如 此。它是一门集现代语言之大成,集结了苹果的工程师文化精髓以及开源社区多样化于一身的 编程语言。编译器为专为性能所调优,语言专为开发所优化,二者绝不互相妥协。 Swift 语言还对新的程序员十分友好。它是第一个工业级系统编程语言,却又像脚本语言那样 富有张力且十分有趣。在 Playground 编写代码并实时查看 Swift 代码运算结果,完全不需要 从头编译然后运行软件。 Swift 通过向其他现代编程模式学习,定义了大量类来避免常⻅的编程错误: 变量一定是在使用前初始化的; 数组索引会检查越界错误; 整数会检查溢出; 可选项保证了 nil 值会显式处理; 内存自动管理; 错误处理允许从意外错误中恢复控制。 Swift 代码为大部分现代硬件编译和优化。语法和基本库都基于指导原则设计,这显然也是你 让代码的最佳方式。这使得集安全和速度于一身的 Swift 适用于任何场景,从编写 “Hello, world!”到整个操作系统,都是上上之选。 Swift 用轻量级的语法集合强大的类型接口和模式匹配,能够把复杂的想法以洁优雅的形式 表达。得益于此,代码不仅仅更好写了,还变得更加易读和益于优化。 Swift 已经投放市场多年,它还会继续演进,带来更多的新特性和新功能。我们对 Swift 语言充 满了信心,我们期待着你用 Swift 进行创作!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值