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

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 = trueprint("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    // 逻辑或:trueprint("Addition:", addition)
print("Is Equal:", isEqual)
print("AND Result:", andResult)

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


http://www.mrgr.cn/news/65346.html

相关文章:

  • 数据迁移: 安全高效转移数据, 满足企业业务需求和技术改进
  • Android沙箱
  • Jest进阶知识:模拟 ES6 类 - 掌握类的依赖模拟与方法监听技巧
  • Prometheus套装部署到K8S+Dashboard部署详解
  • Zookeeper分布式锁实现
  • 【django】django RESTFramework前后端分离框架快速入门
  • 基于STM32的智能手环设计
  • 学习记录:js算法(八十三):全排列
  • 表件数count使用总结
  • 新闻稿件管理:SpringBoot框架技术突破
  • Java复习32(PTA)
  • 【智能算法应用】鹈鹕优化算法求解二维路径规划问题
  • 布朗运动
  • 大数据挖掘有哪些技术要点?
  • Fork突然报错
  • 详解UDP协议
  • python-web开发神器:FastAPI详细使用(简单易用)
  • 一个小程序如何对接多个收款账户?
  • c++基础12比较/逻辑运算符
  • Python元组和列表在“用户信息管理”项目中的应用
  • VulkanTutorial(12·recreation swap chain,Vertex buffers)
  • SQLserver 表拆分
  • 从 vue 源码看问题 — 如何理解 vue 响应式?
  • Pyqt5蓝牙链接心跳检测
  • LeetCode 每日一题,用 Go 实现两数之和的非暴力解法
  • UEFI学习笔记(十四):UEFI Driver Model概述