Swift 是 Apple 推出的现代编程语言,以其简洁、安全和高效著称,广泛应用于 iOS 和 macOS 开发。本文将详细解析基础语法,帮助初学者快速掌握 Swift 的核心内容。
目录
- Hello World
- 常量与变量
- 标识符规则
- 数据类型
- 字面量
- 类型转换
- 元组(Tuple)
1. Hello World
Swift 的程序入口无需显式定义 main 函数,任何全局范围内的可执行代码都可以作为程序的起点。以下是 Swift 中的第一个程序:
print("Hello, World!")
语法规则:
- 分号:单行语句结尾可以省略分号,多行语句在同一行时需要分号分隔:print(“Hello”); print(“Swift”)
- Playground 环境:Playground 是 Swift 的交互式开发工具,支持快速预览代码结果。快捷键:
- Command + Shift + Enter:运行整个 Playground。
- Shift + Enter:运行当前行或截止行。
2. 常量与变量
定义常量和变量
- 常量:用
let
定义,值不可变。 - 变量:用
var
定义,值可以修改。
let pi = 3.14159 // 常量
var age = 25 // 变量
age = 30 // 修改变量值
注意事项
- 常量和变量在使用前必须初始化。
- 常量的值不需要在编译期确定,但使用前必须赋值一次。
- 未初始化变量或常量的使用会报错:var uninitializedVariable: Int
print(uninitializedVariable) // 错误:变量未初始化
3. 标识符规则
标识符(如变量名、函数名)可以由几乎任何字符组成,但需遵守以下规则:
- 不能以数字开头。
- 不可包含空白字符或特殊符号(如箭头)。
合法标识符示例:
let myVar = 42
let 变量名 = "合法的 Unicode 字符"
非法标识符示例:
// let 123name = "错误,不能以数字开头"
// let my var = "错误,不能包含空格"
4. 数据类型
值类型
值类型包括常用的数据类型,如 Int、Float、Double、Bool 和 String 等。
let intValue: Int = 42
let floatValue: Float = 3.14
let boolValue: Bool = true
let stringValue: String = "Swift"
引用类型
类(class)是典型的引用类型,多个引用指向同一内存地址。
整数类型
- 整数类型如 Int8、Int16、UInt8、UInt64 等。
- 通常情况下,使用 Int 即可,它会根据平台选择合适的位数(32 位或 64 位)。
- 获取最大或最小值:print(UInt8.max) // 输出 255
print(Int16.min) // 输出 -32768
浮点数类型
- Float:32 位浮点数,精度约为 6 位。
- Double:64 位浮点数,精度至少 15 位。
let pi: Float = 3.14159
let e: Double = 2.718281828
5. 字面量
Swift 支持通过下划线分隔数字以增强可读性:
let largeNumber = 1_000_000
let preciseValue = 1_000.000_001
6. 类型转换
Swift 是强类型语言,不支持隐式类型转换,需使用显式转换:
let integer = 42
let doubleValue = Double(integer) // 转换为 Double 类型
let stringValue = String(integer) // 转换为 String 类型
类型安全机制确保转换前后兼容,避免运行时错误。
7. 元组(Tuple)
元组是一种轻量级的数据结构,用于将多个值组合成一个复合值。元组的值可以是不同的类型。
示例:普通元组
let coordinates = (10, 20)
print("X: \(coordinates.0), Y: \(coordinates.1)")
示例:命名元组
let person = (name: "Alice", age: 25)
print("Name: \(person.name), Age: \(person.age)")
元组分解
let (x, y) = (100, 200)
print("X: \(x), Y: \(y)")
总结
Swift 的基础语法设计简洁直观,初学者可以快速上手开发。如果您有更多问题或学习心得,欢迎在评论区留言探讨!
这篇文章详细讲解了《基础语法》中所有的知识点,欢迎继续深入学习 Swift 或在实践中运用这些内容!