三、Swift3.0中l(wèi)et和var對比分析

1、let用于定義常量, var用于定義變量

2、變量或常量的類型會根據(jù)右側(cè)的代碼執(zhí)行結(jié)果,推倒對應(yīng)的類型,具體是什么類型可以通過 option+鼠標(biāo)左擊查看類型

3、Swift中對類型要求異常嚴(yán)格。
不同類型的數(shù)據(jù),不允許直接運(yùn)算。Swift不會做隱式轉(zhuǎn)換,所有的類型確定,都要有程序員自己負(fù)責(zé)。

  let x = 10
  let y = 10.5
  //這里就是錯誤的
  //print(x+y)
  //正確的做法
  print(x + Int(y))

4、類型轉(zhuǎn)化
OC中:(int)y ==>類型轉(zhuǎn)換
swift中Int() ===>結(jié)構(gòu)體的構(gòu)造函數(shù) Int對應(yīng)的是個結(jié)構(gòu)體

5、swift中不存在基本數(shù)據(jù)類型,都是結(jié)構(gòu)體。如上面的Int(y)

6、如果需要制定變量或常量的類型,也可以使用這樣的形式:let x: Double = 12
提示:在Swift開發(fā)中,極少直接使用指定類型,通常都是做自動推導(dǎo)。

7、關(guān)于let和var的選擇
如果寫一下代碼會包如下警告Variable 'a' was never mutated; consider changing to 'let' constant,翻譯過來是:a的值從來沒有被更改,建議使用let。所以正確的做法是改為var a = 10

  //系統(tǒng)警告: Variable 'a' was never mutated; consider changing to 'let' constant
 //翻譯:a的值從來沒有被更改,建議使用let。就是這么智能
   var a = 10
  let b = 20
  print(a+b)

這里使用let,因?yàn)檫@里僅僅修改的是v的屬性,并沒有修改v的指針地址,所以使用let最為合理。

  let v = UIView()
 //這里使用let,因?yàn)檫@里僅僅修改的是v的屬性,并沒有修改v的指針地址,所以使用let最為合理。
 v.backgroundColor = UIColor.red
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,204評論 1 10
  • 關(guān)于 Swift 重要這個文檔所包含的準(zhǔn)備信息, 是關(guān)于開發(fā)的 API 和技術(shù)的。這個信息可能會改變, 根據(jù)這個文...
    無灃閱讀 4,643評論 1 27
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 4,120評論 0 6
  • 一個陽光明媚的秋日早晨 公園的野鴨盤旋起舞 他說他要尋找他的愛人 南方 再會吧,也許不會 剛勁的翅膀讓天空好看 散...
    蕭陌閱讀 503評論 0 1
  • 2017/09/02 每個人總有脆弱的時候。 就像深夜時分,一個人徘徊在窗前,看街道上燈紅酒綠,車馬喧囂在眼前,心...
    風(fēng)風(fēng)風(fēng)呀閱讀 367評論 0 1

友情鏈接更多精彩內(nèi)容