Swift(02)- Swift中數據類型

Swift類型的介紹

  • Swift中的數據類型也有:整型/浮點型/對象類型/結構體類型等等
  • 先了解整型和浮點型
  • 整型
    • 有符號
      • Int8 : 有符號8位整型
      • Int16 : 有符號16位整型
      • Int32 : 有符號32位整型
      • Int64 : 有符號64位整型
      • Int : 和平臺相關(默認,相當於OC的NSInteger)
    • 無符號
      • UInt8 : 無符號8位整型
      • UInt16 : 無符號16位整型
      • UInt32 : 無符號32位整型
      • UInt64 : 無符號64位整型
      • UInt : 和平臺相關(常用,相當於OC的NSUInteger)(默認)

 

一般來說,你不需要專門指定整數的長度。無論是Int和UInt,長度與當前平臺的原生字長相同:


 
  • 在32位平臺上,Int和Int32長度相同
  • 在64位平臺上,Int和Int64長度相同。

除非你需要特定長度的整數,一般情況下Int就可以足夠了,這可以提高代碼的一致性和可複用性

注意:儘量不要使用UInt,除非你真的需要存儲一個和當前平臺原生字長相同的無符號整數。除了這種情況,最好使用Int,即使你要存儲的值已知是非負的。統一使用Int可以提高代碼的可複用性,避免不同類型數字之間的轉換,並且匹配數字的類型推斷,請參考類型安全和類型推斷。

  • 浮點型
    • Float : 32位浮點型
    • Double : 64浮點型(默認)
// 定義一個Int類型的變量m,並且賦值爲10
var m : Int = 10
// 定義一個Double類型的常量n,並且賦值爲3.14
let n : Double = 3.14

注意:
Double精確度很高,至少有15位數字,而Float最少只有6位數字。選擇哪個類型取決於你的代碼需要處理的值的範圍。

 

Swift中的類型推導

  • Swift是強類型的語言
  • Swift中任何一個標識符都有明確的類型
  • 注意:
    • 如果定義一個標識符時有直接進行賦值,那麼標識符後面的類型可以省略.
    • 因爲Swift有類型推導,會自動根據後面的賦值來決定前面的標識符的數據類型
    • 可以通過option+鼠標左鍵來查看變量的數據類型 
// 定義變量時沒有指定明確的類型,但是因爲賦值給i一個20.20爲整型.因此i爲整型
var i = 20
// 錯誤寫法:如果之後賦值給i一個浮點型數值,則會報錯
// i = 30.5

// 正確寫法
var j = 3.33
j = 6.66

Swift中基本運算

  • Swift中在進行基本運算時必須保證類型一致,否則會出錯
    • 相同類型之間纔可以進行運算
    • 因爲Swift中沒有隱式轉換
  • 數據類型的轉化
    • Int類型轉成Double類型:Double(標識符)
    • Double類型轉成Int類型:Int(標識符)
let a = 10
let b = 3.14

// 錯誤寫法
// let c = a + b
// let c = a * b

// 正確寫法
let c = Double(a) + b
let d = a + Int(b)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章