空函式有參函式呼叫引數的注意事項Swift 1.1語言

大學霸發表於2015-01-16

空函式有參函式呼叫引數的注意事項Swift 1.1語言

7.2.3  空函式

空函式有參函式呼叫引數的注意事項Swift 1.1語言空函式是函式中最簡單的形式。在空函式中,函式只有一個空殼,裡面是沒有任何語句。當開發者還沒有想到要寫什麼樣子的程式時,可以使用空函式。等想好要編寫的程式後,再為空函式去新增內容。它宣告定義的一般形式如下本文選自Swift 1.1語言快速入門


  • func 函式名(){
  • }


注意:空函式是沒有返回值的。

【示例7-3】以下為程式定義一個空函式fun,然後再去呼叫。程式碼如下:


  • import Foundation
  • //空函式的宣告定義
  • func fun(){
  •    
  • }
  • fun()


由於在空函式中沒有執行的語句,所以不會有任何輸出結果本文選自Swift 1.1語言快速入門

7.3  使用有參函式

有引數函式是指包含引數列表的函式。以下對它的宣告定義、呼叫、使用引數的主要事項和引數名進行詳細的講解。

7.3.1  有參函式的宣告定義

有參函式宣告定義的一般形式如下:


  • func 函式名(引數名1:資料型別,引數名2:資料型別,……)->返回值型別{
  •     語句
  • }


其中, 無參函式和有參函式的區別在於引數列表。引數列表由引數名和資料型別組成,其中使用“:”冒號將它們分隔開。引數列表中的引數可以有多個。定義時使用引數是為了接收呼叫(呼叫會在下一小節中講解)時傳遞的資料。

【示例7-4】以下定義一個函式名為fun()的函式,此函式帶有一個引數。程式碼如下:


  • func fun(Name: String){
  •   …
  • }


注意:引數列表中的引數名和資料型別都是不可以省去的。如以下的程式碼,它就是將引數名後面的資料型別省去了,程式碼如下本文選自Swift 1.1語言快速入門


  • func fun(Name){
  •    …
  • }


由於省去了資料型別導致程式出現了以下的錯誤:


  • Use of undeclared type 'Name'


7.3.2  有參函式的呼叫

在有參函式宣告定義後,就可以呼叫了,其呼叫的一般形式如下:

函式名(引數值1,引數值2,)

【示例7-5】以下程式碼將實現問候某一個人的功能。程式碼如下:


  • import Foundation
  • //有參函式的宣告定義
  • func fun(Name: String){
  •     println("Hello,\(Name)")
  • }
  • let personName1="Tom"
  • fun(personName1)                                                                                      //呼叫
  • let personName2="Div"
  • fun(personName2)                                                                                      //呼叫


在此程式碼中,函式呼叫依次將字串"Tom""Div"傳遞給函式在定義時的引數Name,然後進行輸出。執行結果如下所示本文選自Swift 1.1語言快速入門


  • Hello,Tom
  • Hello,Div
  • Program ended with exit code: 0


當然在函式引數列表中也可以由多個引數。這時,多個引數需要使用“,”逗號分隔。

【示例7-6】以下將輸出某一範圍內包含的數字。程式碼如下:


  • import Foundation
  • //具有多個引數函式的宣告定義
  • func range(start:Int,end:Int){
  •     var i=start
  •     var e=end
  •     for i;i<=e;++i{
  •         println(i)
  •     }
  • }
  • let s=1
  • let e=5
  • range(s,e)                                                                 //呼叫
  • 執行結果如下所示:
  • 1
  • 2
  • 3
  • 4
  • 5
  • Program ended with exit code: 0


7.3.3  引數的注意事項

在使用引數時,需要小心,避免出現問題。以下講解常出現的兩個問題本文選自Swift 1.1語言快速入門

1.引數個數

函式在宣告定義時的引數要和呼叫時的引數個數一致。否則,就會出現錯誤。例如以下程式碼,它的功能計算在某一範圍內包含多少個元素。程式碼如下:


  • import Foundation
  • func range(start:Int,end:Int){
  •    println(end-start)
  • }
  • let s=1
  • let e=5
  • range(s)


由於宣告定義時的引數個數為2個,但是呼叫時的引數但是為1個。兩個引數不一致,導致程式出現以下的錯誤提示:


  • Missing argument for parameter #2 in call


此錯誤資訊的意思是:在呼叫時丟失了#2引數。

2.引數順序

宣告定義時的引數順序一定要和呼叫時的引數順序一致,否則就會出現錯誤,或者是邏輯上的錯誤。例如以下的程式碼,將字串aa輸出指定的次數。


  • import Foundation
  • func fun(start:Int,end:Int,str:String){
  •     var i=s
  •     for i;i<=end;++i{
  •        println("字串:\(str)第\(i)次輸出")
  •     }
  • }
  • let s=1
  • let e=5
  • var ss="a"
  • fun(s,ss,e)


在宣告定義時引數的順序為(Int,Int,String),而在呼叫時引數的順序為(Int,String,Int)。兩者是不一樣的,所以就會出現以下的錯誤提示:


  • 'String' is not convertible to 'Int'
本文選自Swift 1.1語言快速入門


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1403783/,如需轉載,請註明出處,否則將追究法律責任。

相關文章