Hello World #
一、第一个Swift程序 #
让我们从经典的"Hello World"开始Swift编程之旅。
1.1 最简单的程序 #
swift
print("Hello, World!")
这就是一个完整的Swift程序!相比其他语言,Swift的Hello World非常简洁,不需要导入额外的库,不需要main函数。
1.2 程序入口 #
Swift程序的入口是顶层代码:
swift
print("程序开始")
func greet() {
print("Hello!")
}
greet()
print("程序结束")
二、运行Swift程序 #
2.1 使用REPL #
REPL(Read-Eval-Print-Loop)是Swift的交互式环境:
bash
$ swift
Welcome to Apple Swift version 5.9.
Type :help for assistance.
1> print("Hello, World!")
Hello, World!
2> let name = "Swift"
name: String = "Swift"
3> print("Welcome to \(name)!")
Welcome to Swift!
4> :quit
常用REPL命令:
:help- 显示帮助:quit- 退出REPL:clear- 清屏:load 文件名- 加载文件
2.2 使用swift命令 #
创建文件 hello.swift:
swift
print("Hello, World!")
直接运行:
bash
swift hello.swift
2.3 编译运行 #
编译为可执行文件:
bash
swiftc hello.swift -o hello
./hello
2.4 使用Swift Package Manager #
创建项目:
bash
mkdir HelloPackage
cd HelloPackage
swift package init --type executable
编辑 Sources/main.swift:
swift
print("Hello, World!")
运行:
bash
swift run
三、Playground #
Playground是Swift的交互式编程环境,可以实时查看代码执行结果。
3.1 Xcode Playground #
- 打开Xcode
- File -> New -> Playground
- 选择"Blank"模板
- 编写代码
swift
import UIKit
var str = "Hello, playground"
print(str)
str = "Hello, Swift!"
print(str)
3.2 Playground特性 #
实时结果显示 #
swift
let numbers = [1, 2, 3, 4, 5]
let doubled = numbers.map { $0 * 2 }
let sum = numbers.reduce(0, +)
右侧会实时显示:
numbers= [1, 2, 3, 4, 5]doubled= [2, 4, 6, 8, 10]sum= 15
可视化 #
swift
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Text("Hello, SwiftUI!")
.font(.largeTitle)
.padding()
Image(systemName: "swift")
.font(.system(size: 60))
.foregroundColor(.blue)
}
}
}
PlaygroundPage.current.setLiveView(ContentView())
3.3 Playground页面管理 #
swift
import PlaygroundSupport
PlaygroundPage.current.finishExecution()
PlaygroundPage.current.needsIndefiniteExecution = true
四、print函数详解 #
print 是最常用的输出函数。
4.1 基本用法 #
swift
print("Hello, World!")
print(42)
print(3.14)
print(true)
4.2 多参数 #
swift
print("Hello", "World", "Swift")
print(1, 2, 3, 4, 5)
4.3 分隔符 #
swift
print("A", "B", "C", separator: "-")
print(1, 2, 3, separator: ", ")
输出:
text
A-B-C
1, 2, 3
4.4 终止符 #
swift
print("第一行", terminator: "\n")
print("第二行", terminator: "")
print("继续")
print("结束", terminator: "---")
输出:
text
第一行
第二行继续结束---
4.5 字符串插值 #
swift
let name = "Swift"
let version = 5.9
let year = 2014
print("欢迎学习 \(name) \(version)!")
print("Swift诞生于\(year)年")
print("明年是\(year + 1)年")
4.6 格式化输出 #
swift
let pi = 3.14159265359
print(String(format: "π = %.2f", pi))
let price = 99.99
print(String(format: "价格: ¥%.2f", price))
let hex = 255
print(String(format: "十六进制: 0x%02X", hex))
五、基本输入 #
5.1 读取用户输入 #
swift
print("请输入你的名字:")
if let name = readLine() {
print("你好,\(name)!")
}
5.2 读取数字 #
swift
print("请输入一个数字:")
if let input = readLine(), let number = Int(input) {
print("你输入的数字是: \(number)")
print("它的平方是: \(number * number)")
} else {
print("输入无效")
}
5.3 完整示例 #
swift
print("=== 简单计算器 ===")
print("请输入第一个数字:")
guard let input1 = readLine(),
let num1 = Double(input1) else {
print("输入无效")
exit(1)
}
print("请输入第二个数字:")
guard let input2 = readLine(),
let num2 = Double(input2) else {
print("输入无效")
exit(1)
}
print("请输入运算符 (+, -, *, /):")
guard let op = readLine() else {
print("输入无效")
exit(1)
}
var result: Double = 0
switch op {
case "+":
result = num1 + num2
case "-":
result = num1 - num2
case "*":
result = num1 * num2
case "/":
result = num1 / num2
default:
print("无效的运算符")
exit(1)
}
print("结果: \(num1) \(op) \(num2) = \(result)")
六、命令行参数 #
6.1 获取命令行参数 #
swift
let arguments = CommandLine.arguments
print("程序名: \(arguments[0])")
print("参数数量: \(arguments.count)")
for (index, arg) in arguments.enumerated() {
print("参数[\(index)]: \(arg)")
}
6.2 参数处理示例 #
swift
let args = CommandLine.arguments
if args.count < 2 {
print("用法: swift main.swift <名字>")
exit(1)
}
let name = args[1]
print("你好,\(name)!")
运行:
bash
swift main.swift 张三
七、调试技巧 #
7.1 断言 #
swift
let age = 25
assert(age >= 0, "年龄不能为负数")
assert(age < 150, "年龄不合理")
7.2 先决条件 #
swift
func divide(_ a: Int, by b: Int) -> Int {
precondition(b != 0, "除数不能为零")
return a / b
}
7.3 致命错误 #
swift
func mustImplement() {
fatalError("子类必须实现此方法")
}
7.4 调试输出 #
swift
let value = 42
debugPrint("调试信息: \(value)")
dump(value)
八、实战练习 #
8.1 个人信息展示 #
swift
let name = "张三"
let age = 25
let city = "北京"
let job = "iOS开发工程师"
print("=== 个人信息 ===")
print("姓名: \(name)")
print("年龄: \(age)岁")
print("城市: \(city)")
print("职业: \(job)")
print("===============")
8.2 简单数学运算 #
swift
let a = 10
let b = 3
print("数字: \(a) 和 \(b)")
print("加法: \(a) + \(b) = \(a + b)")
print("减法: \(a) - \(b) = \(a - b)")
print("乘法: \(a) × \(b) = \(a * b)")
print("除法: \(a) ÷ \(b) = \(Double(a) / Double(b))")
print("取余: \(a) % \(b) = \(a % b)")
8.3 时间显示 #
swift
import Foundation
let now = Date()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy年MM月dd日 HH:mm:ss"
print("当前时间: \(formatter.string(from: now))")
九、总结 #
本章学习了:
- 程序结构:Swift程序的组成和入口
- 运行方式:REPL、swift命令、编译、SPM
- Playground:交互式编程环境
- 输入输出:print函数和readLine
- 调试技巧:断言和错误处理
关键要点:
- Swift程序简洁,不需要main函数
- Playground适合学习和实验
- print函数支持多种输出格式
- 使用字符串插值简化输出
下一章,我们将学习Swift的数据类型!
最后更新:2026-03-26