空函式有參函式呼叫引數的注意事項Swift 1.1語言
空函式有參函式呼叫引數的注意事項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'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1403783/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Swift 1.1語言函式引數的特殊情況本地引數名外部引數名Swift函式
- Swift1.1語言快速入門7.2使用無參函式Swift函式
- C語言 將函式(有參、無參)作為引數傳遞C語言函式
- 【C語言】函式的概念和函式的呼叫(引數傳遞)C語言函式
- 函式注意事項函式
- Swift 1.1語言第7章 函式和閉包Swift函式
- Swift 呼叫 Objective-C 的可變引數函式SwiftObject函式
- setbuf函式使用注意事項函式
- PHP函式,引數,可變參函式.PHP函式
- 函式的呼叫方式和引數函式
- C語言函式呼叫棧C語言函式
- 使用find_in_set()函式的注意事項函式
- spring呼叫帶引數的oracle函式應注意的問題SpringOracle函式
- Ignite自定義函式注意事項函式
- GO語言————6.7 將函式作為引數Go函式
- 4.2 函式的外部引數名 [Swift教程]函式Swift
- 使用箭頭函式的幾個注意事項函式
- swift1.2語言函式和閉包函式介紹Swift函式
- 棧空間受限情況下C/C++函式呼叫注意事項C++函式
- 函式定義、函式的引數、函式的預設引數函式
- 函式呼叫的引數規則與解包函式
- Go語言Slice作為函式引數詳解Go函式
- GO語言————6.2 函式引數與返回值Go函式
- Swift4.0 函式引數(內部外部引數和下劃線在函式的作用)Swift函式
- js函式作為函式的引數程式碼例項JS函式
- C#的Replace函式,使用函式作為的引數需要注意C#函式
- 函式呼叫引數變數傳值的問題函式變數
- Power Apps SortByColumns 函式使用注意事項APP函式
- c語言是如何處理函式呼叫的?C語言函式
- Lua中呼叫ref和out修飾引數的函式/過載函式函式
- python不定長引數如何呼叫函式?Python函式
- 函式式思維和函數語言程式設計函式函數程式設計
- 函式引數 引數定義函式型別函式型別
- fork 和 vfork 使用的注意事項和 system() 函式的替代函式
- 深入理解 C 語言的函式呼叫過程函式
- 深入理解C語言的函式呼叫過程C語言函式
- C語言函式手冊:c語言庫函式大全|C語言標準函式庫|c語言常用函式查詢C語言函式
- 對 “C語言指標變數作為函式引數” 的個人理解C語言指標變數函式