1. 函数注释:
- swift中, 用 "func" 表示声明一个函数.
- swift的文件格式里面, 没有类似于OC的.h文件, 所有需要定义一个私有函数, (可以在func前面加private修饰)
- 函数格式:
func 函数名(参数名:参数类型, 参数名:参数类型)->返回值类型{
函数体
return 返回值
}
2. 函数类型及使用
1. 定义无参无返回值的函数
func func1()->Void{
print("func1")
}
func1()```
#####2. 有参无返回值
func func2(a:String)->Void{
print("func2")
}
func2("aa")```
3. 无参有返回值
func func3()->Int{
return 9
}
var value = func3()
print("func3 = \(value)")```
#####4. 有参有返回值
func func4(a:Int, b:Int)->Int{
return a+b
}
var sum = func4(4, b: 4)
print(sum)
#####5. 有参数, 多返回值
func all(number:Int, number2:Int)->(Int, Int, Int, Int){
return (number + number2, number - number2, number * number2, number / number2)
}
let result = all(10, number2: 5)
print(result)```
6. 内参和外参
注意:
swift中, 一个参数有两个名字, 内部参数名和外部参数名.
1.内部参数名: 在函数内部使用的参数名
2.外部参数名: 在函数调用的时候, 显示的参数名称
指定内部参数名和外部参数名的函数
func hero(first one:String, second two:Int){
print(one, two) //函数内部使用时, 使用内部参数
}
hero(first: "孙悟空", second: 007) //函数外部地调用函数时, 显示的外部参数
***
注意 :
1.在默认情况下(即在定义函数时, 不指定外部参数名时), 函数的第一个外部参数名不显示, 而其余外部参数名显示, 并且与内部参数名一直
2.如果想要使函数中外部参数名都不显示, 可以使用"-"省略, 但是, 函数的第一个参数不能使用"_"省略外部参数名
>```
func text(one:Int, _ two:Int){
> print(one, two)
}
>text(1, 2) //所有外部参数都不显示, 如果不加_ 则默认为: text(2, two: 3)
7. inout参数(参数类型为: 变量的指针)
- 函数参数, 如果不给数据类型, 默认为 let 类型. 如果在前面加var, 就可以修改参数
- 如果参数前面加 inout 来修饰, 那么就成了输入输出函数. 在函数内部修改参数, 可以影响到外部变量的值
var name = "大豆豆"
func newName(inout name:String){
name = "小小花" //此处修改name值
print("name修改为(name)")
}
// 注意: 此处注意调用的时候, 给的实参是变量的地址
newName(&name) //传递的参数, 是地址
print(name)```
8. 函数嵌套
func outer(){
print("外部函数")
func inner(){
print("内部函数")
}
//在外部函数中调用内部函数
inner()
}
//调用外部函数
outer()```