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
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
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 作為一個全新的語言,從一開始的設計就將許多好的語言特性加入,確實讓人驚豔。
Thumbnail
針對 JavaScript 中的原始型別和隱性轉型進行了詳細的探討
Thumbnail
針對 JavaScript 中的原始型別和隱性轉型進行了詳細的探討
Thumbnail
JS 資料型別分為兩大類,原始型別 (Primitive values) 和物件型別 (Objects)。
Thumbnail
JS 資料型別分為兩大類,原始型別 (Primitive values) 和物件型別 (Objects)。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News