函数

swift/func2026-10-22 10:54:24

https://gitbook.swiftgg.team/swift/swift-jiao-cheng/06_functions

函数是一段完成特定任务的独立代码片段。你可以通过给函数命名来标识某个函数的功能,这个名字可以被用来在需要的时候“调用”这个函数来完成它的任务。

声明和调用函数

使用 func 来声明一个函数。

通过在名字之后在圆括号内添加一系列参数来调用这个方法。

使用 -> 来分隔形式参数名字类型和函数返回的类型。

func greet(person: String, day: String) -> String {
    return "Hello \(person), today is \(day)."
}
greet(person: "Bob", day: "Tuesday")

自定义参数标签

默认情况下,函数使用他们的形式参数名来作为实际参数标签。在形式参数前可以写自定义的实际参数标签,或者使用 _ 来避免使用实际参数标签。

func greet(_ person: String, on day: String) -> String {
    return "Hello \(person), today is \(day)."
}
greet("John", on: "Wednesday")

内嵌

函数可以内嵌。内嵌的函数可以访问外部函数里的变量。你可以通过使用内嵌函数来组织代码,以避免某个函数太长或者太过复杂。

func returnFifteen() -> Int {
    var y = 10
    func add() {
        y += 5
    }
    add()
    return y
}
returnFifteen()

闭包

函数其实就是闭包的一种特殊形式:一段可以被随后调用的代码块。闭包中的代码可以访问其生效范围内的变量和函数,就算是闭包在它声明的范围之外被执行——你已经在内嵌函数的栗子上感受过了。你可以使用花括号({})括起一个没有名字的闭包。在闭包中使用 in来分隔实际参数和返回类型。

numbers.map({
    (number: Int) -> Int in
    let result = 3 * number
    return result
})

本页目录