Swift入門教程:基本語法大全


 

      簡介:                                                                                                                                                                                 

什么是Swift                                                                                            
Swift是蘋果於2014年WWDC(蘋果開發者大會)發布的全新編程語言
Swift在天朝譯為“雨燕”,右上角的圖標就是它的LOGO
跟Objective-C一樣,可以用於開發iOS、Mac應用程序
蘋果從2010年7月開始設計Swift語言,耗時4年打造
 
Swift的語法特點                                                                                     
從它的語法中能看到Objective-C、JavaScript、Python等語言的影子
語法簡單、代碼簡潔、使用方便
可與Objective-C混合使用(相互調用)
 
為什么要設計Swift語言                                                                            
讓應用開發更簡單、更快、更穩定
確保最終應用有着更好的質量
 
     編程語言對比                                                                                                                                                            
腳本語言(比如Python)
通常易於編寫和測試,不需要經歷編譯-鏈接-運行三個繁瑣的步驟
但並不是非常強大,難以帶來高質量程序
如果你希望編寫一款游戲,完全利用設備的性能,那么這樣的語言並不理想
 
傳統編程語言(比如Objective-C)
使開發者能更好地利用設備的性能,開發更復雜的應用
但通常較難掌握,在編譯和測試時也更麻煩(經歷編譯-鏈接-運行三個步驟)
 
Swift
借鑒了Objective-C、JavaScript、Python等語言的優點
目標:簡單、高效、強大
 
  相關數據                                                                      
Xcode版本必須 >= 6.0,才能使用Swift進行調試和開發
Swift自從發布之后,備受開發者關注,1天的時間內
Xcode 6 beta下載量突破1400萬次
官方發布的電子書《The Swift Programming Language》下載量突破37萬次
一位國外開發者已經用Swift實現了Flappy Bird游戲(這位開發者上手Swift的時間只有4個小時,編程加上休息時間,接近9個小時)
 
語法須知                                                               
2個不需要
不需要編寫main函數:全局作用域中的代碼會被自動當做程序的入口點(從上往下執行)
不需要在每一條語句后面加上分號   
let radius = 10
你喜歡的話,也可以加上    let radius = 10;
有一種情況必須加分號:同一行代碼上有多條語句時

let radius = 10;    let radius2 = 15

注釋
單行注釋 // 這是單行注釋
多行注釋 /* 這是多行注釋 */
跟其他語言不太一樣的是,Swift的多行注釋可以嵌套多行注釋

/* haha /* hehe */ haha */

變量和常量                                                                                                        

如何聲明常量和變量
用let來聲明常量

let radius = 10

用var來聲明變量

var age = 20

var x = 0.0, y = 0.0, z = 0.0

Swift不會自動給變量賦初始值

也就是說變量不會有默認值
所以要求使用變量之前必須要對其初始化
 
常量和變量的命名                                                                                              
基本上可以用任何你喜歡的字符作為常量和變量名

let π = 3.14159

let 網址 = "http://ios.itcast.cn"

let 🐶🐮 = "dogcow"

// 🐶和🐮是一種特殊的Unicode字符

 

常量和變量名的注意點                   
不能包含數學符號(比如 + 和 * )
不能包含箭頭(比如↑、↓、←、→)
不能包含非法無效的Unicode字符(比如⚽ 、♠)
不能是關鍵字(比如let、var)
不能包含橫線 – 、 制表符(比如 my–name)
不能以數字開頭(比如 123go)
不能是單獨一個下划線 _ (比如var _ = 10)
 
數據類型                                                                                                      
Swift中常用的數據類型有
Int、Float、Double、Bool
String、Character、Array、Dictionary
可以看出,數據類型的首字母都是大寫的
 
如何指定變量\常量的數據類型
在常量\變量名后面加上“冒號:” 和 “類型名稱”

var age : Int = 10

上面代碼表示:定義了一個Int類型的變量age,初始值是10
一般來說,沒有必要明確指定變量\常量的類型
如果在聲明常量\變量時賦了初始值,Swift可以推斷出這個常量\變量的類型

var age = 20 // Swift會推斷出age是Int類型,因為20是個整數

   整數                                                                          

整數分為2種類型
有符號(signed):正、負、零
無符號(unsigned):正、零
 
Swift提供了8、16、32、64位的有符號和無符號整數,比如
UInt8 :8位無符號整型
Int32 :32位有符號整型
 
整數的最值
可以通過min和max屬性來獲取這個類型的最小值和最大值

let minValue = UInt8.min  // UInt8 類型的 minValue 等於0

let maxValue = UInt8.max  // UInt8 類型的 maxValue 等於255

          int和uint                                                                                           

Swift提供了特殊的有符號整數類型Int和無符號整數類型UInt
Int\UInt的長度和當前系統平台一樣
在32位系統平台上,Int和UInt的長度是32位
在64位系統平台上,Int和UInt的長度是64位
Int在32位系統平台的取值范圍:-2147483648 ~ 2147483647
 
建議
在定義變量時,別總是在考慮有無符號、數據長度的問題
盡量使用Int,這樣可以保證代碼的簡潔、可復用性
 
-----------存儲范圍------------------------------------------------------
每種數據類型都有各自的存儲范圍
Int8的存儲范圍是:–128 ~ 127
UInt8的存儲范圍是:0 ~ 255
 
如果數值超過了存儲范圍,編譯器會直接報錯
下面的語句都會直接報錯

let num1 : UInt8 = -1                   // UInt8不能存儲負數

let num2 : Int8 = Int8.max + 1       // Int8能存儲的最大值是Int8.max

-----------整數的表示形式------------------------------------------------

整數的4種表示形式
十進制數:沒有前綴

var i1 = 10 // 10

二進制數:以0b為前綴

var i2 = 0b1010 // 10

八進制數:以0o為前綴

var i3 = 0o12 // 10

十六進制數:以0x為前綴

var i4 = 0xA // 10

-----------類型別名------------------------------------------------

可以使用typealias關鍵字定義類型的別名,跟C語言的typedef作用類似

typealias MyInt = Int      // 給Int類型起了個別名叫做MyInt

原類型名稱能用在什么地方,別名就能用在什么地方

聲明變量類型

var num : MyInt = 20

獲得類型的最值

var minValue = MyInt.min

類型轉換

var num2 = MyInt(3.14) // 3

-----------浮點數-----------------------------------------------

浮點數,就是小數。Swift提供了兩種浮點數類型
Double :64位浮點數,當浮點值非常大或需要非常精確時使用此類型
Float :32位浮點數,當浮點值不需要使用Double的時候使用此類型
 
精確程度
Double :至少15位小數
Float :至少6位小數
如果沒有明確說明類型,浮點數默認就是Double類型

let num = 0.14      // num是Double類型的常量

浮點數的表示形式
浮點數可以用 十進制 和 十六進制 2種進制來表示
十進制(沒有前綴)
沒有指數:var d1 = 12.5
有指數    :var d2 = 0.125e2     // 0.125e2 == 0.125 * 10²
²MeN ==  M * 10的N次方
 
十六進制(以0x為前綴,且一定要有指數)
var d3 = 0xC.8p0                 // 0xC.8p0 == 0xC.8 * 2º == 12.5 * 1
²0xMpN == 0xM * 2的N次方
var d3 = 0xC.8p1                // 0xC.8p1 == 0xC.8 * 2¹ == 12.5 * 2  == 25.0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM