Swift 开发教程系列 - 第2章:Swift 基础语法

在这个章节中,我们将介绍 Swift 的基础语法,包括变量与常量的定义、数据类型、类型转换和操作符的使用。掌握这些基础知识能帮助你更熟练地理解和编写 Swift 代码。

2.1 常量和变量

在 Swift 中,使用 let 声明常量,使用 var 声明变量。常量的值一旦赋值就不能更改,而变量的值可以随时改变。

示例代码:
swift 复制代码
let constantValue = 10      // 常量
var variableValue = 20      // 变量

// 变量重新赋值
variableValue = 30
print("Constant:", constantValue)     // 输出:10
print("Variable:", variableValue)     // 输出:30

2.2 数据类型

Swift 是一种强类型语言,每个变量或常量都有一个确定的数据类型。在 Swift 中常见的数据类型包括以下几种:

• Int:整数类型,用于存储整数值。

• Double 和 Float:浮点类型,Double 表示双精度,Float 表示单精度。

• String:字符串类型,用于存储文本。

• Bool:布尔类型,只有两个取值:true 或 false。

示例代码:
swift 复制代码
let age: Int = 25
let pi: Double = 3.14159
let message: String = "Hello, Swift"
let isActive: Bool = true

print("Age:", age)
print("Pi:", pi)
print("Message:", message)
print("Active Status:", isActive)

2.3 类型推断和类型转换

类型推断

Swift 具有类型推断功能,在声明变量和常量时,如果没有显式指定类型,编译器会根据赋值内容推断数据类型。

示例代码:
swift 复制代码
let inferredInt = 42        // 自动推断为 Int 类型
let inferredDouble = 3.14   // 自动推断为 Double 类型

类型转换

在 Swift 中,不同类型的变量不能直接相互运算,需要进行类型转换。

示例代码:
swift 复制代码
let integer = 10
let decimal = 3.5

// 转换 Int 为 Double 后进行加法运算
let sum = Double(integer) + decimal
print("Sum:", sum)

2.4 基本操作符

Swift 提供了多种操作符,用于执行算术运算、比较运算、逻辑运算等。

• 算术运算符:+(加),-(减),*(乘),/(除),%(取余)。

• 比较运算符:==(等于),!=(不等于),>(大于),<(小于),>=(大于或等于),<=(小于或等于)。

• 逻辑运算符:&&(逻辑与),||(逻辑或),!(逻辑非)。

示例代码:
swift 复制代码
let a = 10
let b = 5

// 算术运算
let addition = a + b        // 加法:15
let subtraction = a - b     // 减法:5
let multiplication = a * b  // 乘法:50
let division = a / b        // 除法:2

// 比较运算
let isEqual = (a == b)      // 等于:false
let isGreater = (a > b)     // 大于:true

// 逻辑运算
let trueValue = true
let falseValue = false
let andResult = trueValue && falseValue   // 逻辑与:false
let orResult = trueValue || falseValue    // 逻辑或:true

print("Addition:", addition)
print("Is Equal:", isEqual)
print("AND Result:", andResult)

掌握了以上的 Swift 基础语法后,你就能写出简单的代码和计算表达式了。下一章节我们将深入了解 Swift 的控制流语句。

相关推荐
茶底世界之下10 小时前
预乘 Alpha 图层合成为什么会越叠越暗?
架构·swift
茶底世界之下2 天前
时间线效果层,为什么不能只复用一个处理器?
ios·swift
Cc.Y3 天前
Swift深度链接的极简之道
ios·cocoa·swift
传奇开心果编程3 天前
【SwiftUI提高练中学】第9课 安全与隐私
swiftui·移动开发·swift·编程语言理论·开发范式·编程框架·声明式ui
茶底世界之下3 天前
动态切换 nearest / linear 时,为什么不能只替换 sampler
ios·swift
应用市场4 天前
把旧 Pixel 变成相册备份中转站(上):Mac 到安卓的照片传输工具设计——流式上传、sha256 校验、adb forward 与 Bonjour
android·macos·adb·kotlin·swift
东坡肘子4 天前
Swift Server,又多了一个 Google -- 肘子的 Swift 周报 #156
人工智能·swiftui·swift
打工仔折腾 AI4 天前
从零写一个CAD 05:以鼠标为中心的滚轮缩放,招法能复用但顺序不能反
开发语言·后端·python·性能优化·计算机外设·swift·ai agent 实战
茶底世界之下5 天前
视频预览切换为何会闪回旧帧:用 generation + mode identity 管住异步回调
ios·swift
茶底世界之下5 天前
类型擦除之后,Metal 滤镜组合为什么不能只执行一个 Filter?
ios·swift