7.1定義與調用
Swift中函數與c中函數大體相似,可以獨立存在,作爲全局函數;或是在別的函數中使用,
即嵌套函數。同樣需要定義,再調用。
- 7.1.1定義函數
在Swift中,定義函數和c中不同,需要一個關鍵字func
其語法格式
func 函數名(參數列表)->返回值類型{
語句
return 返回值
}
eg:
func rectanglearea(width:Double,height:Doule)->Double{ //定義求矩形面積函數
let area = width * height
return area
}
- 7.1.2函數調用
函數名(參數名字:參數值)
print(rectanglearea(width:1e,height:2))
-------
7.2關於參數
- 7.2.1無參數
首先無參數是可以的
func sayHelloWorld()-> String{
return "hello,world"
}
- 7.2.2使用外部參數
什麼是外部參數?在函數中定義時,只在內部使用的參數叫作”局部參數名“,相對地,
如7.1.2中調用時用的參數可稱爲”外部參數名“。
print( rectanglearea ( width : 10 , height : 10 ) )
//width 和 height 便是外部參數
我們還可以給每個參數提供一個外部參數名
func rectanglearea(W width:Double,H height:Doule)->Double{ //W,H 爲所被提供的外部參數名
let area = width * height
return area
}
print( rectanglearea ( W : 10 , H : 10 ) )
7.2.3省略外部參數
外部函數名可以作爲參數真實信息載體,使輸入更準確,防止輸入錯漏。提高代碼可讀性,
但Swift還是提供省略外部參數的方法在每個參數名前 加
_
(下劃線)
func rectanglearea(_width:Double,_height:Doule)->Double{ //在每個參數名前加'_'(下劃線)
let area = width * height
return area
}
參數較多時不要省略外部參數名,以防錯漏。
- 7.2.4參數默認值
爲參數設置一個值作爲默認值,當調用參數時可忽略這個默認值,使用調用時的添加值。
func makeasong(fruit : String = "pen" )-> String{
return "I have a \(fruit)"
}
let song1 = makeasong () //I have a pen
let song1 = makeasong (apple) //I have a apple
let song3 = makeasong (pineapple) //I have a pineapple
- 7.2.5可變參數
參數個數不定時使用...
來接受變量的定義
注意:變量類型要相同
func sum(numbers : Double...)-> Double{
var total: Double = 0
for i in numbers {
total += number
}
return total
}
sum( -20 , 0.1 , 100) //-20+0.1+100 = 80.1
7.3返回值
主要三種: 無返回值 , 單一返回值 , 多返回值。
單一返回值不再贅述。
- 7.3.1無返回值
去掉return語句
func 函數名(參數列表){
語句 //有三種方式 ,此爲1
}
func 函數名(參數列表)->(){
語句
} // 方法2
func 函數名(參數列表)->Void{
語句
} // 方法3
- 7.3.2多返回值
需要多返回值時,有兩種方法去實現。第一便是在函數定義時
第二中是將返回值定義爲元組類型
func position(dt : Double ,speed:(x :Int , y :Int)) -> (x :Int , y :Int){
let posx :
}