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 :
}