当前位置: 首页 > article >正文

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

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

2.1 常量和变量

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

示例代码:
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。

示例代码:
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 具有类型推断功能,在声明变量和常量时,如果没有显式指定类型,编译器会根据赋值内容推断数据类型。

示例代码:

let inferredInt = 42        // 自动推断为 Int 类型
let inferredDouble = 3.14   // 自动推断为 Double 类型

类型转换

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

示例代码:
let integer = 10
let decimal = 3.5

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

2.4 基本操作符

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 的控制流语句。


http://www.kler.cn/a/380878.html

相关文章:

  • Java 中 Socket 技术全面解析
  • DCN-DCN路由器online_list.php存在任意文件读取漏洞
  • 如何解决vscode powershell乱码
  • Java程序打包成exe,无Java环境也能运行
  • Linux中Mysql5.7主从架构(一主多从)配置教程
  • 你好Python
  • 地理信息科学专业想搞GIS开发:学前端还是后端?
  • 多核架构的基本概念
  • 分布式追踪与告警系统:保障分布式系统稳定运行的利器
  • Jest进阶知识:测试快照 - 确保组件渲染输出正确
  • 学习记录:js算法(八十六):全排列 II
  • 棋牌游戏防ddos攻击,高防IP好用吗?
  • IO流篇(一、File)
  • 承建网站提高访问者留存率
  • 对于IIC的理解
  • Python小白学习教程从入门到入坑------第二十六课 单例模式(语法进阶)
  • 探索Java与C++中的类成员访问修饰符:从默认设置到封装实践
  • 【系统架构设计师】预测试卷一:论文(包括4篇论文主题对应的写作要点分析)
  • AUTOSAR COM 与 LargeDataCOM 模块解析及 C++ 实现示例
  • Docker:容器编排 Docker Compose
  • WPF中的CommandParameter如何使用
  • 11.04学习
  • 《Python游戏编程入门》注-第4章7
  • 如何封装一个axios,封装axios有哪些好处
  • PHP露营地管理平台小程序系统源码
  • Vue3-hooks代替mixins