Swift 變量、常量和數(shù)據(jù)類(lèi)型
歡迎您閱讀 Mastering Swift 基礎(chǔ)教程,本文我們將介紹 Swift 中的變量、常量和數(shù)據(jù)類(lèi)型。如果你尚未安裝 Xcode 和配置 Swift 開(kāi)發(fā)環(huán)境,請(qǐng)您先閱讀這篇文章。
接下來(lái),我們啟動(dòng) Xcode,然后選擇 "File" > "New" > "Playground"。創(chuàng)建一個(gè)新的 Playground 并命名為 "Variables"。
聲明和使用變量
在 Swift 使用 var 關(guān)鍵字定義變量。變量值可以在其生命周期中被改變。而在 TypeScript 中,是使用 var 或 let 關(guān)鍵字定義變量。
Swift 代碼
var name = "Kakuqo"
name = "Semlinker"
TypeScript 代碼
let name = "Kakuqo";
name = "Semlinker";
聲明和使用常量
在 Swift 中使用 let 關(guān)鍵字定義常量。常量一旦被賦值后,其值不可改變。而在 TypeScript 中,是使用 const 關(guān)鍵字定義變量。
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;
數(shù)據(jù)類(lèi)型
現(xiàn)在你已經(jīng)知道如何定義變量和常量。在定義常量和變量時(shí),我們可以顯式聲明變量的類(lèi)型。下面我們來(lái)介紹 Swift 中常見(jiàn)的數(shù)據(jù)類(lèi)型。
String 類(lèi)型
Swift 代碼
var greeting: String = "Hello, Swift!"
TypeScript 代碼
let greeting: string = "Hello, TypeScript!";
Int 類(lèi)型
Int 類(lèi)型是一種特殊的類(lèi)型,長(zhǎng)度與當(dāng)前平臺(tái)的原生字長(zhǎng)相同:
- 在 32 位平臺(tái)上,Int 和 Int32 長(zhǎng)度相同。
- 在 64 位平臺(tái)上,Int 和 Int64 長(zhǎng)度相同。
Swift 代碼
var age: Int = 30
TypeScript 代碼
let age: number = 30;
Float/Double 類(lèi)型
浮點(diǎn)數(shù)是包含小數(shù)部分的數(shù)字,比如 3.14159,1.0 等。
- Float 類(lèi)型:表示 32 位浮點(diǎn)數(shù),精度要求不高的話可以使用此類(lèi)型。
- Double 類(lèi)型:表示 64 位浮點(diǎn)數(shù),當(dāng)你需要存儲(chǔ)很大或者很高精度的浮點(diǎn)數(shù)時(shí)請(qǐng)使用此類(lèi)型。
Swift 代碼
let radius: Float = 2.5
let pi: Double = 3.1415926535
TypeScript 代碼
const radius: number = 2.5;
const pi: number = 3.1415926535;
Bool 類(lèi)型
Swift 代碼
var completed: Bool = true
TypeScript 代碼
let completed: boolean = true;
類(lèi)型推斷
Swift 和 TypeScript 都是類(lèi)型安全的語(yǔ)言。它們?cè)诰幾g時(shí)檢查類(lèi)型,以確保代碼不會(huì)嘗試執(zhí)行不允許的操作。此外,它們都支持類(lèi)型推斷,即編譯器能自動(dòng)推斷變量的類(lèi)型。
Swift 代碼
// message 變量的類(lèi)型被推斷為 String 類(lèi)型
var message = "Swift is amazing!"
// pages 變量的類(lèi)型被推斷為 Int 類(lèi)型
var pages = 50
TypeScript 代碼
// message 變量的類(lèi)型被推斷為 string 類(lèi)型
let message = "TypeScript is awesome!";
// pages 變量的類(lèi)型被推斷為 number 類(lèi)型
let pages = 50;
類(lèi)型別名
在編程中,類(lèi)型別名是一種為已有類(lèi)型賦予新名稱的方法。這有助于提高代碼的可讀性和可維護(hù)性。在 Swift 和 TypeScript 中,我們都可以使用類(lèi)型別名來(lái)重新命名已有的類(lèi)型。
在 Swift 中,我們使用 typealias 關(guān)鍵字來(lái)創(chuàng)建類(lèi)型別名。而在 TypeScript 中,類(lèi)型別名是使用 type 關(guān)鍵字創(chuàng)建的。
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;
字符串插值
字符串插值是一種在字符串中嵌入變量或表達(dá)式的方法。Swift 和 TypeScript 都支持使用字符串插值來(lái)構(gòu)建包含動(dòng)態(tài)內(nèi)容的字符串。
在 Swift 中,字符串插值是通過(guò)在字符串中包含變量或表達(dá)式并使用 \() 語(yǔ)法來(lái)完成的。而在 TypeScript 中,我們使用反引號(hào) (``) 創(chuàng)建模板字符串,使用 ${} 語(yǔ)法插入變量或表達(dá)式。
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 中變量、常量和數(shù)據(jù)類(lèi)型等相關(guān)的知識(shí)。通過(guò)與 TypeScript 語(yǔ)法的對(duì)比,希望能幫助您更好地理解 Swift 的相關(guān)特性。這種對(duì)比學(xué)習(xí)的方法有助于加深對(duì)語(yǔ)言特性的理解,并使學(xué)習(xí)過(guò)程更加高效。