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