Swift - 自定义函数规则说明

1,无返回值的函数
1
2
3
func test(name:String){
 
}

2,返回一个返回值
1
2
3
func test(name:String) -> Bool{
    return true
}

3,返回由多个值组成的复合返回值
1
2
3
4
5
func test(name:String) -> (Int,Bool){
    var position = 1
    var visible = false
    return (position,visible)
}

4,可变形参:可以接受0个或者任意数量的输入参数
1
2
3
4
5
6
7
func test(numbers:Int...) -> Int{
    var count:Int = 0
    for number in numbers{
        count += number
    }
    return count
}

5,在Swift函数中,参数默认是常量。如果要改变参数的值,就需要在定义函数的时候加上关键字var。(外部的参数任然不会被修改)
1
2
3
4
5
6
7
8
9
10
11
var age = 22
 
//无法编译
func add(age:Int) {
    age +=1
}
 
//可以编译
func add(var age:Int) {
    age +=1
}

6,如果想要同时改变函数内外的参数值,可以利用inout关键字,同时调用函数的时候给参数加上前缀“&”
1
2
3
4
5
6
7
var age = 22
func add(inout age:int){
    age += 1
}
 
changeAge(&age)
println(age) //23

7,可以使用函数类型的参数
1
2
3
4
5
6
7
8
9
10
func additive(a:Int, b:Int) -> Int{
    return a + b
}
 
//函数类型的参数
func printAdditiveResult(addFun: (Int, Int) -> Int, a:Int, b:Int){
    println("Result:\(addFun(a,b))")
}
 
printAdditiveResult(additive, a: 5 ,b: 7)

8,也可以使用函数类型的返回值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//定义个自增函数
func increase(input:Int) -> Int{
    return input + 1
}
 
//定义个自减函数
func reduce(input:Int) -> Int{
    return input - 1
}
 
//定义一个返回函数类型的函数
func chooseFunction(backwards:Bool) -> (Int) -> Int{
    return backwards ? reduce : increase
}
 
//测试
let aFun = chooseFunction(3>2)
println(aFun(3))  //2
posted @   brave-sailor  阅读(229)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2014-09-25 Android 出现警告Exported service does not require permission
2013-09-25 Android中的JSON详细总结
点击右上角即可分享
微信分享提示