Swift学习------常量与变量
常量與變量
* let 常量: 常量的值一旦設定就不能改變
* var 變量: 變量的值可以隨意更改
* 常量&變量的使用原則:
* 為保證數據的安全性盡量先用 let,只有需要改變的時候才使用 var
?
常量定義格式
* 聲明符號 常量名稱: 類型標注
* let number: Int
* 特點: 一旦設定就不能改變 ?
let number: Int = 10?
定義變量格式
* 聲明符號 變量名稱: 類型標注
var number: Int* 特點: 變量的值可以隨意更改
* 注意: 一般來說你很少需要寫類型標注。如果你在聲明常量或者變量的時候賦了一個初始值,Swift可以推斷出這個常量或者變量的類型
var number2: Int = 10 number2 = 20?
類型推斷
* 編譯器可以在編譯代碼的時候自動推斷出表達式的類型。(其它語言是沒有類型推斷)
* 原理很簡單,只要檢查你賦的值即可
* 如果沒有指定表達式的類型, 也沒有賦予初始值, 編譯器會報錯(type annotation missing in pattern)
let number3 = 10 var number4 = 20.1?注意點: 如果沒有指定表達式的類型, 也沒有賦予初始值, 編譯器會報錯
var number5: Int number5 = 88?
類型安全
* Swift 是一個類型安全(type safe)的語言, 它會在編譯你的代碼時進行類型檢查(type checks),并把不匹配的類型標記為錯誤。這可以讓你在開發的時候盡早發現并修復錯誤
* swift 對數據類型要求異常嚴格, swift 中任何時候,都不會做 `隱式轉換`,如果要對不同類型的數據進行計算,必須顯示類型轉換
注意:
* 結合數字類常量和變量不同于結合數字類字面量。字面量8可以直接和字面量3.1415926相加,因為數字字面量本身沒有明確的類型。它們的類型只在編譯器需要求值的時候被推測
* Double和CGFloat也需要轉換
//let number6: Int = 10.1 let number7 = 10 let number8 = 10.1 //let sum = number7 + number8 let sum = Double(number7) + number8 let sum1 = number7 + Int(number8)// 字面量之間運算可以是不同類型 let sum2 = 10 + 10.1// CGFloat/Double let point = CGPoint(x: 10.10, y: 20.20) let temp = point.x let sum3 = Double(temp) + number8?
?
常量和變量的命名
* 你可以用任何你喜歡的字符作為常量和變量名,包括 Unicode 字符
* 常量與變量名不能包含數學符號,箭頭,保留的(或者非法的)Unicode 碼位,連線與制表符
* 也不能以數字開頭,但是可以在常量與變量名的其他地方包含數字
* ... 和C和OC一樣, no zuo no die
?
注意:
* 如果你需要使用與Swift保留關鍵字相同的名稱作為常量或者變量名,你可以使用反引號(`)將關鍵字包圍的方式將其作為名字使用。
* 無論如何,你應當避免使用關鍵字作為常量或變量名,除非你別無選擇。
?
元祖
* 元組(tuples)把多個值組合成一個復合值
* 將多個相同或者不同類型的值用一個小括號括起來就是一個元祖
* 元組內的值可以是任意類型,并不要求是相同類型
* 作為函數返回值時,元組非常有用
?
注意:
* 元組在臨時組織值的時候很有用,但是并不適合創建復雜的數據結構。如果你的數據結構并不是臨時使用,請使用類或者結構體而不是元組
let tuples = (10, 10.1)//: 通過下標 tuples.0 tuples.1//: 指定元素名稱 let tuples1 = (xxx: 99,ooo: 3.14) tuples1.xxx tuples1.ooo//: 分解元素 let (intValue, doubleValue) = (998, 4.1) intValue doubleValue?
轉載于:https://www.cnblogs.com/sleblogs/p/5774613.html
總結
以上是生活随笔為你收集整理的Swift学习------常量与变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2016第三本《曾国藩的正面和侧面》
- 下一篇: 网易笔试——混合颜料