iT邦幫忙

2021 iThome 鐵人賽

DAY 3
1
Mobile Development

從零開始的8-bit迷宮探險!Swift SpriteKit 遊戲開發實戰系列 第 3

從零開始的8-bit迷宮探險【Level 3】Swift 基礎語法 (一)

今日目標

  • 認識變數及常數
  • 認識型態:字元、字串、整數、浮點數、布林值

變數

宣告一個變數可以使用 var,代表宣告之後還可以修改它。
String 為變數的型態:字串。

var role: String = "human"
role = "knight"

宣告變數時,如果沒有帶入型態,swift會自動依照給的值來推斷

var a = 0 // 判斷型態為 Int

若此時給他另一個不同型態的值,則會報錯

var a = 0 
a = 0.3 // 系統提示錯誤,不能將型態 Double 的值指定給 Int 型態的變數

將上述程式碼調整,給定 a 的型態為 Double,則可以編譯正常

var a: Double = 0
a = 0.3 // 正確修改

常數

宣告一個常數可以使用 let,代表之後不能修改。

let role: String = "human"
role = "knight" // 系統提示錯誤,不能修改常數

字元

字元是由 Unicode 組成的,他可以是一個英文字母、符號等等,例如 "a"。

宣告字元的方法:

var character: Character = "a"
print(character)
印出結果:
a

可以用 Unicode 來宣告一個字元
例如:

  • a 的 Unicode 是 U+0061
  • 笑臉的 Unicode 是 U+1F603
var character: Character = "\u{0061}"
print(character)
var smile: Character = "\u{1F603}"
print(smile)

印出結果:
https://imgur.com/EHIoHSN.png


字串

字串是字元的集合,例如 "abc"。

宣告字串的方法:

var hello: String = "Hello, swift~"
print(hello)
印出結果:
Hello, swift~

取得字串的長度 .count (取得的就是字元的數量):

var hello: String = "Hello, swift~"
var length = hello.count
print(length)
印出結果:
13

遍歷字串中的每個字元 .forEach

var hello: String = "Hello, swift~"
hello.forEach { item in
    print(item)
}
印出結果:
H
e
l
l
o
,
 
s
w
i
f
t
~

將字串轉換為字元陣列 Array()

var hello: String = "Hello, swift~"
var array = Array(hello)
print(array)
印出結果:
["H", "e", "l", "l", "o", ",", " ", "s", "w", "i", "f", "t", "~"]

字串的串連

  • 可以直接使用 +,把兩個字串接起來:
var hello: String = "Hello, swift~"
var sentence: String = "I like spriteKit"
var new = hello + sentence
print(new)
印出結果:
Hello, swift~I like spriteKit
  • "" 內使用 \(),並將變數放在裡面串連
var hello: String = "Hello, swift~"
var new = "\(hello)I like spriteKit"
print(new)
印出結果:
Hello, swift~I like spriteKit
  • 可以使用 +=
var hello: String = "Hello, swift~"
hello += "I like spriteKit"
print(hello)
印出結果:
Hello, swift~I like spriteKit

整數與浮點數

整數型態包含正數、負數及零,不具有小數點。

宣告整數的方法:

var a: Int = 1
print(a)
印出結果:
1

浮點數型態是可以具有小數點的數字,包含 Float 及 Double 兩種型態。
這兩種型態的差異在於精確度不同,Double 可以儲存比較多的位數。

宣告浮點數的方法:

var b: Float = 1.1234
var c: Double = 1.1234
print(b)
print(c)
印出結果:
1.1234
1.1234

型態不同的話不能做計算,需轉換成相同型態

var a: Int = 1
var b: Float = 1.1234
print(a + b) // 報錯,型態不同

使用 Float() 將整數轉換為浮點數

var a: Int = 1
var b: Float = 1.1234
print(Float(a) + b)
印出結果:
2.1234

使用 Int() 將浮點數轉換為整數,小數點會消失

var a: Int = 1
var b: Float = 1.1234
print(a + Int(b))
印出結果:
2

布林值

布林值代表的是: 真(true) 或 假(false)

宣告布林值的方法:

var isWin: Bool = true
print(isWin)
印出結果:
true

使用 ! 將值切換,由 true 改為 false

var isWin: Bool = true
print(!isWin)
印出結果:
false

也可以取得算式的真假

print(3>1)
print(3<1)
印出結果:
true
false

/images/emoticon/emoticon28.gif
以上是今日的介紹,明天再繼續認識更多的 swift 語法吧!


參考來源:
character
string


上一篇
從零開始的8-bit迷宮探險【Level 2】Xcode 開發環境介紹
下一篇
從零開始的8-bit迷宮探險【Level 4】Swift 基礎語法 (二)
系列文
從零開始的8-bit迷宮探險!Swift SpriteKit 遊戲開發實戰30

尚未有邦友留言

立即登入留言