翻譯能力有限妹懒,如有不對的地方闹蒜,還請見諒!希望對Swift的學(xué)習(xí)者有所幫助揭芍,使用的編寫工具:JQNote? ??InNote(iPhone)
Swift是一門類型安全的語言胳搞。鼓勵程序員在代碼中清楚明確值的類型。如果代碼中使用一個字符串String称杨,那么你不能錯誤的傳遞一個整型Int給它肌毅。因為Swift是類型安全的,它會在代碼編譯的時候做類型檢查姑原,并且把所有不匹配的類型作為一個錯誤標(biāo)記出來悬而。這樣使得程序員在開發(fā)中盡可能早地發(fā)現(xiàn)和修正錯誤。
類型檢查有助于你在使用不同類型值的時候锭汛,避免錯誤的發(fā)生笨奠。但是,這不意味著你必須給每一個聲明的常量和變量指定具體的類型唤殴。如果你沒有給一個值指定你所需要的類型般婆,Swift會使用類型推斷來推算出一個合適的類型。類型推斷使得編譯器在代碼編譯的時候朵逝,通過簡單的檢測提供的值蔚袍,能夠自動推斷出類型。因為有類型推斷廉侧,Swift相比C或者Objective-C語言页响,很少需要聲明類型篓足。在使用中,變量和常量的類型一直是明確的闰蚕,但是指定它們類型的大部分工作已經(jīng)在編譯的時候為您完成了栈拖。
當(dāng)你在聲明一個帶有初始化值的變量或者常量的時候,類型推斷特別有用没陡。在聲明一個常量或者變量的時候涩哟,同時傳遞一個初始化值給它。比如盼玄,當(dāng)沒有指定一個常量是什么類型的時候贴彼,賦值42給它。因為你用一個整型的數(shù)值來初始化它埃儿,所以Swift會推斷你需要該常量為一個整型器仗。
letmeaningOfLife=42
類似,如果你沒有為一個浮點值指定類型童番,Swift會推斷你想生成一個Double 類型:
letpi=3.14159
Swift總是會選擇Double(而不是Float)作為浮點數(shù)的推斷類型精钮。如果在一個表達(dá)式中把整數(shù)和浮點數(shù)相加,那么Double將會是作為一個推斷類型:
letanotherPi=3+0.14159
類型別名
類型別名是使用typealias關(guān)鍵字為一個已經(jīng)存在的類型定義了一個可替換的名字剃斧。
typealiasAudioSample=UInt16
一旦你定義了一個類型別名轨香,你可以在任何使用原名的地方使用這個別名。
varmaxAmplitudeFound=AudioSample.min
這里AudioSample被定義為UInt16的一個別名幼东。因為它是別名臂容,所以AudioSample.min實際上是調(diào)用UInt16.min。