Swift入門-Day4:資料型別

更新於 發佈於 閱讀時間約 8 分鐘

內建型別

Swift提供了一些基本的內建型別,常見的有以下幾種:

  • Int:整數型別,根據平台的不同可以是32位或64位。
  • Float:單精度浮點數,32位。
  • Double:雙精度浮點數,64位。
  • Bool:布爾型別,值為truefalse
  • String:字符串型別,用於存儲文本。
  • Character:字符型別,用於存儲單個字符。

整數(Int)

let intValue: Int = 42
let anotherIntValue = 10
let sum = intValue + anotherIntValue
print("Sum: \\\\(sum)") // Sum: 52

浮點數(Float 和 Double)

let floatValue: Float = 3.14
let doubleValue: Double = 2.718281828
let product = floatValue * Float(doubleValue)
print("Product: \\\\(product)") // Product: 8.5397596

布爾型別(Bool)

let isSwiftFun: Bool = true
let isLearningHard = false
if isSwiftFun {
print("Swift is fun!")
} else {
print("Swift is not fun.")
}

字符串(String)

let greeting: String = "Hello, world!"
let name = "Alice"
let personalizedGreeting = greeting + " " + name
print(personalizedGreeting) // Hello, world! Alice

字符(Character)

let letter: Character = "A"
let exclamationMark: Character = "!"
let message = "Hello" + String(exclamationMark)
print(message) // Hello!

選擇型(Optional)

選擇型用於表示一個值可能存在或不存在。使用?來標記一個變量為選擇型。

var optionalString: String? = "Hello"
print(optionalString) // Optional("Hello")

optionalString = nil
print(optionalString) // nil

// 使用可選綁定來解包選擇型
if let unwrappedString = optionalString {
print(unwrappedString)
} else {
print("optionalString is nil")
}

// 使用強制解包
print(optionalString!) // 這將在optionalString為nil時崩潰

型別轉換

在Swift中,可以通過顯式轉換來改變變數的型別:

let intValue: Int = 42
let doubleValue: Double = Double(intValue) // 將Int轉換為Double

let stringValue: String = "123"
if let intValueFromString = Int(stringValue) {
print("轉換成功:\\\\(intValueFromString)")
} else {
print("轉換失敗")
}

自訂型別

自訂型別可以通過定義類、結構和枚舉來創建:

class Person {
var name: String
var age: Int

init(name: String, age: Int) {
self.name = name
self.age = age
}

func greet() {
print("Hello, my name is \\\\(name) and I am \\\\(age) years old.")
}
}

let person = Person(name: "Alice", age: 30)
person.greet()

結構

struct Point {
var x: Int
var y: Int

func description() -> String {
return "Point at (\\\\(x), \\\\(y))"
}
}

let point = Point(x: 10, y: 20)
print(point.description())

枚舉

enum Direction {
case north
case south
case east
case west
}

let currentDirection = Direction.north
switch currentDirection {
case .north:
print("Heading North")
case .south:
print("Heading South")
case .east:
print("Heading East")
case .west:
print("Heading West")
}

元組型別

元組是一組有序的值,可以包含不同型別:

let httpError = (404, "Not Found")
let (statusCode, statusMessage) = httpError
print("Status code is \\\\(statusCode) and status message is \\\\(statusMessage)")

let namedHttpError = (statusCode: 404, message: "Not Found")
print("Status code is \\\\(namedHttpError.statusCode) and status message is \\\\(namedHttpError.message)")

集合型別

集合是一組無序且不重複的值:

var fruitSet: Set<String> = ["Apple", "Banana", "Cherry"]
fruitSet.insert("Durian")
print(fruitSet)

陣列型別

陣列是一組有序的值:

var numbers: [Int] = [1, 2, 3, 4, 5]
numbers.append(6)
print(numbers)

let firstNumber = numbers[0]
print("First number is \\\\(firstNumber)")

字典型別

字典是一組鍵值對:

var capitals: [String: String] = ["France": "Paris", "Japan": "Tokyo"]
capitals["China"] = "Beijing"
print(capitals)

if let capital = capitals["France"] {
print("The capital of France is \\\\(capital)")
}

留言
avatar-img
留言分享你的想法!
avatar-img
Michael楊
17會員
111內容數
日後將分享關於我的經驗(日常、工作、技術),並期待未來能創造屬於我的宇宙。
Michael楊的其他內容
2024/06/25
本文檔介紹了在Swift中使用套件的詳細方法,包括如何引用第三方套件和自定義模組,如何創建自定義套件,以及一些常見的Swift套件。這些套件可以幫助開發者快速添加功能到項目中,提高開發效率和程式碼品質。
Thumbnail
2024/06/25
本文檔介紹了在Swift中使用套件的詳細方法,包括如何引用第三方套件和自定義模組,如何創建自定義套件,以及一些常見的Swift套件。這些套件可以幫助開發者快速添加功能到項目中,提高開發效率和程式碼品質。
Thumbnail
2024/06/24
本章節為Swift程式語言的異常處理介紹,說明了為何需要進行異常處理以及如何進行異常處理。提供了使用do、try、catch和throw關鍵字進行異常處理的基本語法並展示了其在實際程式中的應用。同時也說明了Swift中的一些常見異常類型,並且教導了如何主動觸發異常訊息和定義自己的異常類型。
Thumbnail
2024/06/24
本章節為Swift程式語言的異常處理介紹,說明了為何需要進行異常處理以及如何進行異常處理。提供了使用do、try、catch和throw關鍵字進行異常處理的基本語法並展示了其在實際程式中的應用。同時也說明了Swift中的一些常見異常類型,並且教導了如何主動觸發異常訊息和定義自己的異常類型。
Thumbnail
2024/06/23
這個章節主要介紹了Swift程式語言中物件導向程式設計的基本概念,包括類別、建構子、公開、私有、受保護等等的概念。同時,也介紹了繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射等進階特性。
Thumbnail
2024/06/23
這個章節主要介紹了Swift程式語言中物件導向程式設計的基本概念,包括類別、建構子、公開、私有、受保護等等的概念。同時,也介紹了繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射等進階特性。
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
這篇內容,將會講解什麼是資料型態,以及與資料型態相關的知識。包括資料型態的簡介、實數、布林值、 字串、陣列。
Thumbnail
這篇內容,將會講解什麼是資料型態,以及與資料型態相關的知識。包括資料型態的簡介、實數、布林值、 字串、陣列。
Thumbnail
本文介紹瞭如何在SwiftUI中調整元件的對齊方式,包括置中、向左/向右/向上/向下對齊的方法。透過調整HStack、VStack以及frame的maxWidth、maxHeight和alignment屬性,可以達到想要的對齊效果。
Thumbnail
本文介紹瞭如何在SwiftUI中調整元件的對齊方式,包括置中、向左/向右/向上/向下對齊的方法。透過調整HStack、VStack以及frame的maxWidth、maxHeight和alignment屬性,可以達到想要的對齊效果。
Thumbnail
這篇文章介紹了 Swift 中字串的比較方法,並討論了使用日期字串進行比較的結果。同時也介紹了數字字串、符號字串和表情符號字串的比較原理。最後指出比較日期字串還是要轉成Date才是安全的做法。
Thumbnail
這篇文章介紹了 Swift 中字串的比較方法,並討論了使用日期字串進行比較的結果。同時也介紹了數字字串、符號字串和表情符號字串的比較原理。最後指出比較日期字串還是要轉成Date才是安全的做法。
Thumbnail
只是 Swift 以 language level 支援 Optional 確實比用 API level 支援的 Java 要簡潔和更具可讀性。Swift 作為一個全新的語言,從一開始的設計就將許多好的語言特性加入,確實讓人驚豔。
Thumbnail
只是 Swift 以 language level 支援 Optional 確實比用 API level 支援的 Java 要簡潔和更具可讀性。Swift 作為一個全新的語言,從一開始的設計就將許多好的語言特性加入,確實讓人驚豔。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News