欢迎您阅读 Mastering Swift 基础教程,本文我们将介绍 Swift 中的变量、常量和数据类型。如果你尚未安装 Xcode 和配置 Swift 开发环境,请您先阅读这篇文章。
接下来,我们启动 Xcode,然后选择 "File" > "New" > "Playground"。创建一个新的 Playground 并命名为 "Variables"。
声明和使用变量
在 Swift 使用 var 关键字定义变量。变量值可以在其生命周期中被改变。而在 TypeScript 中,是使用 var 或 let 关键字定义变量。
Swift 代码
var name = "Kakuqo"
name = "Semlinker"
TypeScript 代码
let name = "Kakuqo";
name = "Semlinker";
声明和使用常量
在 Swift 中使用 let 关键字定义常量。常量一旦被赋值后,其值不可改变。而在 TypeScript 中,是使用 const 关键字定义变量。
Swift 代码
let birthYear = 2023
// Error: Cannot assign to value: 'birthYear' is a 'let' constant
birthYear = 2024
TypeScript 代码
const birthYear = 2023;
// Error: Cannot assign to 'birthYear' because it is a constant.
birthYear = 2024;
数据类型
现在你已经知道如何定义变量和常量。在定义常量和变量时,我们可以显式声明变量的类型。下面我们来介绍 Swift 中常见的数据类型。
String 类型
Swift 代码
var greeting: String = "Hello, Swift!"
TypeScript 代码
let greeting: string = "Hello, TypeScript!";
Int 类型
Int 类型是一种特殊的类型,长度与当前平台的原生字长相同:
- 在 32 位平台上,Int 和 Int32 长度相同。
- 在 64 位平台上,Int 和 Int64 长度相同。
Swift 代码
var age: Int = 30
TypeScript 代码
let age: number = 30;
Float/Double 类型
浮点数是包含小数部分的数字,比如 3.14159,1.0 等。
- Float 类型:表示 32 位浮点数,精度要求不高的话可以使用此类型。
- Double 类型:表示 64 位浮点数,当你需要存储很大或者很高精度的浮点数时请使用此类型。
Swift 代码
let radius: Float = 2.5
let pi: Double = 3.1415926535
TypeScript 代码
const radius: number = 2.5;
const pi: number = 3.1415926535;
Bool 类型
Swift 代码
var completed: Bool = true
TypeScript 代码
let completed: boolean = true;
类型推断
Swift 和 TypeScript 都是类型安全的语言。它们在编译时检查类型,以确保代码不会尝试执行不允许的操作。此外,它们都支持类型推断,即编译器能自动推断变量的类型。
Swift 代码
// message 变量的类型被推断为 String 类型
var message = "Swift is amazing!"
// pages 变量的类型被推断为 Int 类型
var pages = 50
TypeScript 代码
// message 变量的类型被推断为 string 类型
let message = "TypeScript is awesome!";
// pages 变量的类型被推断为 number 类型
let pages = 50;
类型别名
在编程中,类型别名是一种为已有类型赋予新名称的方法。这有助于提高代码的可读性和可维护性。在 Swift 和 TypeScript 中,我们都可以使用类型别名来重新命名已有的类型。
在 Swift 中,我们使用 typealias 关键字来创建类型别名。而在 TypeScript 中,类型别名是使用 type 关键字创建的。
Swift 代码
typealias SampleRate = Double
let standardSampleRate: SampleRate = 44100.0
let highQualitySampleRate: SampleRate = 96000.0
TypeScript 代码
type SampleRate = number;
const standardSampleRate: SampleRate = 44100.0;
const highQualitySampleRate: SampleRate = 96000.0;
字符串插值
字符串插值是一种在字符串中嵌入变量或表达式的方法。Swift 和 TypeScript 都支持使用字符串插值来构建包含动态内容的字符串。
在 Swift 中,字符串插值是通过在字符串中包含变量或表达式并使用 \() 语法来完成的。而在 TypeScript 中,我们使用反引号 (``) 创建模板字符串,使用 ${} 语法插入变量或表达式。
Swift 代码
let x = 2022
let y = 2
let result = "The sum of \(x) and \(y) is \(x + y)."
print(result)
TypeScript 代码
const x: number = 2022;
const y: number = 2;
const result: string = `The sum of ${x} and ${y} is ${x + y}.`;
console.log(result);
本文我们介绍了 Swift 中变量、常量和数据类型等相关的知识。通过与 TypeScript 语法的对比,希望能帮助您更好地理解 Swift 的相关特性。这种对比学习的方法有助于加深对语言特性的理解,并使学习过程更加高效。