掀起你的蓋頭來——Swift語言

轉載自:http://www.boode.com.cn/share/swift.html


蘋果在今年的 WWDC 大會上推出了Swift編程語言,它是一門博採衆長的現代語言。蘋果的目的很明顯,就是要讓 Swift 替換 Objective-C。Swift 很簡單,學起來也很容易,所以它有望成爲示教編程的默認語言,其功能之強大可以滿足任何企業變成要求。Swift具有快速、現代、安全、可交互等特徵,並且其語法簡單,入門門檻低,有望替代語法複雜難懂的Objective-C語言。

     爲了初步瞭解Swift語言的特點,我們寫了一些簡單的示例代碼,從這些代碼我們可以一窺其面目。

【HelloWorld】

1
println("Hello World"

     有人可能要說,這行代碼是否少分號了?不是這樣的,在Swift裏分號是可寫可不寫的!也沒有IMPORT語句、main函數,也沒有@符號。編譯運行可以看到控制檯打印的Hello World字樣。這裏的println是全局函數,負責打印參數內容,並換行 。

【聲明變量和常量】

1
2
var legs = 4  // 變量legs
let PI = 3.1415926    // 常量PI  

     legs爲變量,PI是常量,它們到底是什麼類型呢?答案是Type Inference(類型推測),由於這兩個語句在聲明的同時並且初始化,因爲4是Int類型,因此推測變量legs爲Int類型,同 理,3.1415926爲Double類型,因此推測PI爲Double類型。也可以強制規定類型:

1
2
var legs:Int //legs被強制規定爲整型
let PI:Double  //PI被強制規定爲浮點數類型

【switch語句】

     switch語句的case後不用加break。弱你在其它一些語言中不寫break,那可就大錯特錯了!而在Swift中,switch選擇的case語句執行完畢後立即跳出switch語句,而不會因爲語句後沒有break繼續執行後面的case或者default語句

1
2
3
4
5
6
7
var a = 1  
switch a {  
    case 1: println(1)  
    case 2: println(2)  
    default: println(3
}  
// no break at all  

【數組】

可以用n..m 或者 n...m 代替一個數組,比如:

1
for index in 0..3 { println(index) }  

..代表前閉後開,...代表前後都閉合,所以0..3代表數組[0,1,2],而0...3代表[0,1,2,3]

【定義一個類 Class】

     在Swift中,存在兩種類型,一種是引用類型(reference type),一種是值類型(value type),class是引用類型,而enumeration和struct是值類型,它們的一個重要區別是傳遞的方式不一樣,一個是傳遞副本,一個是傳遞本身

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<span>class Vehicle {  </span>         
        var wheels:Int?            
        var maxPassengers:Int? 
             
        func description() -> String {          
            return "This vehicle has \(wheels!) wheels,max passengers is \(maxPassengers!) " 
        }             
              
        init(withWheels wheels:Int,andMaxPassengers maxPassengers:Int) {            
            self.wheels = wheels            
            self.maxPassengers = maxPassengers 
        }             
        deinit { }          
}  
     
        

     該類名爲Vehicle,聲明瞭兩個屬性,wheels和maxPassengers。以及一個實例方法description,該方法沒有參數,返回值爲字符串類型。同時,該類提供一個初始化方法,init是關鍵字,該方法接受兩個參數,代表之前聲明的兩個屬性。該參數包括三個部分,分別是外部參數名(external parameter name),局部參數名(local parameter name)以及參數類型,在方法調用裏會用到外部參數名,局部參數名是用在方法體內的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章