kerkerj
變數與常數
定義一個變數:
var obj: String = ""
var 是保留字,宣告 obj 是一個變數名稱,冒號後面接資料形態
以此例子來說,宣告了一個字串變數叫做 obj,並且初始化為 “” 空字串
let obj: String = ""
let 同樣是用來宣告一個變數,但是宣告此變數後,該變數的值無法被改變,
無法被改變的數值其實正正的名字就叫做常數
以上面的例子來說, 若我們多做一件事:
let obj: String = ""
obj = "test"
若我們試圖去更改 obj,讓 obj 從空字串變成 “test” 時,
Xcode 就會報錯,不能更改該值
再來是宣告的變型,其實宣告時不一定要給資料形態,
Swift 會自動從後面的值來判斷 x 可能是什麼資料形態,
只是由於筆者的習慣,會儘量在後面加上該變數的資料型別
var x = "test"
一行內宣告多值:
var x = 0.0, y = 0.0, z = 0.0
我們就可以在 Playground 裡面試著宣告一些變數看看,並且使用昨天的輸出函式來輸出變數:
var str: String = "測試"
let fixString: String = "fixed"
var x = 0, y = 1, z = 2
println(str)
println(x)
println(y)
println(z)
註解
// 單行註解
/*
多行註解
多行註解
多行註解
*/
基本資料型別
Swift 是一個強型別語言,意即若是以下的程式碼是會出錯的:
var x = "test"
x = 2
由於 x 已經被先 Swift 判定是 String 了,後面想指定 Int 資料給 x 就會出錯
Int 整數:
Swift 提供了 Int 還另外提供了 8, 16, 32, 64 位元的有號和無號整數型別
若在 32 位元平台,宣告 Int 的話, Int 的長度和 Int32 是一樣的
若在 64 位元平台,宣告 Int 的話, Int 的長度和 Int64 是一樣的
浮點數: 3.2, 0.0 之類的數字,可以用 Double - 64 位元浮點數 (至少 15 位數) Float - 32 位元浮點數 (至少 6 位數)
布林值: true/false
Tuples: Tuple 可以將多個值組合成一個值,例如:
//賦值
let httpSucess = (200, "Success")
// 反過來接值
let (statusCode, statusMessage) = httpSucess
// 若只需要其中一個值,另一個值可以用 _ 代替,但是不能沒有 _
let (statusCode, _) = httpSucess
// 也可以用索引的方式拿值
println(httpSucess.0)
// 宣告 tuples 時也可以直接給予參數一個名稱
let httpSucess = (statusCode: 200, statusMessage: "Success")
// 拿值時就可以:
println(httpSucess.statusCode)
同時結合 function 這樣就可以多值回傳了!
下一篇會接續今天變數相關的主題~