Swift程式語言學習1 3 型別安全和投機型

2021-09-07 02:44:16 字數 1117 閱讀 5820

swift 是型別安全(type safe )語言。型別安全的語言可以讓你清楚地知道**被處理值型別。假設你需要乙個**string。你絕對不能進去乙個不小心傳球int。

因為 swift 它是型別安全,因此,這將是型別檢查的編譯**(type checks),並把不匹配的型別標記為錯誤。

這能夠讓你在開發的時候盡早發現並修復錯誤。

當你要處理不同型別的值時,型別檢查能夠幫你避免錯誤。

然而。這並非說你每次宣告常量和變數的時候都須要顯式指定型別。假設你沒有顯式指定型別,swift 會使用型別猜測(type inference)來選擇合適的型別。有了型別猜測。編譯器能夠在編譯**的時候自己主動猜測出表示式的型別。原理非常easy,僅僅要檢查你賦的值就可以。

由於有型別猜測。和 c 或者 objective-c 比起來 swift 非常少須要宣告型別。常量和變數儘管須要明白型別,可是大部分工作並不須要你自己來完畢。

當你宣告常量或者變數並賦初值的時候型別猜測很實用。

當你在宣告常量或者變數的時候賦給它們乙個字面量(literal value 或 literal)就可以觸發型別猜測。

(字面量就是會直接出如今你**中的值,比方42和3.14159。

比如。假設你給乙個新常量賦值42而且沒有標明型別,swift 能夠猜測出常量型別是int,由於你給它賦的初始值看起來像乙個整數:

let meaningoflife = 42

// meaningoflife 會被猜測為 int 型別

同理,假設你沒有給浮點字面量標明型別。swift 會猜測你想要的是double:

let pi = 3.14159

// pi 會被猜測為 double 型別

當猜測浮點數的型別時,swift 總是會選擇double而不是float。

假設表示式中同一時候出現了整數和浮點數,會被猜測為double型別:

let anotherpi = 3 + 0.14159

// anotherpi 這將是投機 double 種類

原版的值3它沒有顯式宣告的型別,該表示式出現在乙個浮點字面。所以表示式會炒成double種類。

go語言學習筆記 6 型別 基礎型別

基礎型別 bool int8 byte int16 int uint uintptr float32 float64 complex64 complex128 複數 string rune 字元 error 錯誤 bool true false 整型 int8 1byte uint8 1byte i...

Swift程式語言學習1 7 斷言

斷言 可選能夠讓你推斷值是否存在,你能夠在 中優雅地處理值缺失的情況。然而,在某些情況下,假設值缺失或者值並不滿足特定的條件,你的 可能並不須要繼續執行。這時。你能夠在你的 中觸發乙個斷言 assertion 來結束 執行並通過除錯來找到值缺失的原因。使用斷言進行除錯 斷言會在執行時推斷乙個邏輯條件...

C語言學習筆記3 型別轉換

c語言中 資料型別可以轉換 強制型別轉換 隱式型別轉換 強制型別轉換的語法 type var name type name 強制型別轉換的結果 目標型別能容納目標值 結果不變 目標型別不能容納目標值 結果將產生截斷 注意 不是所有的強制型別轉換都能成功,當不能進行強制型別轉換時,編譯器將產生錯誤資訊...