📅  最后修改于: 2023-12-03 15:23:19.900000             🧑  作者: Mango
在 Swift 中,函数是用来执行特定任务的独立代码段。以下是在 Swift 中声明函数的示例:
func functionName(argumentLabel parameterName: ParameterType) -> ReturnType {
// 函数体
return returnValue
}
Swift包含许多预定义的函数库,可以使用内置函数库快速编写功能强大的应用程序。
例如,标准库提供了 print()
函数,用于在控制台上打印消息:
print("Hello, world!")
在 Swift 中,函数可以有零个或多个输入参数。每个函数参数都有一个标签和一个名称。
例如,以下函数使用两个参数,并返回它们的和:
func sum(firstNumber: Int, secondNumber: Int) -> Int {
let result = firstNumber + secondNumber
return result
}
let result = sum(firstNumber: 5, secondNumber: 4)
print(result) // 输出:9
Swift 允许在函数声明中为每个参数指定两个标签,分别是参数标签和参数名称。
参数标签用于在调用函数时标识参数,而参数名称用于在函数体内引用参数。
例如,以下函数使用 of
参数标签和 numbers
参数名称:
func average(of numbers: [Double]) -> Double {
let sum = numbers.reduce(0, +)
let average = sum / Double(numbers.count)
return average
}
let numbers = [1.0, 2.0, 3.0, 4.0, 5.0]
let avg = average(of: numbers)
print(avg) // 输出:3.0
在 Swift 中,可以将参数标记为可选参数(optional),这意味着该参数可以为空值。
例如,以下函数将其参数标记为可选参数:
func getDescription(of name: String?) -> String {
guard let name = name else {
return "名字不明"
}
return "你好,\(name)!"
}
let desc1 = getDescription(of: "小明")
let desc2 = getDescription(of: nil)
print(desc1) // 输出:你好,小明!
print(desc2) // 输出:名字不明
在 Swift 中,您可以使用可变参数传递任意数量的参数。要定义可变参数,请在参数类型后添加省略号(...
)。
例如,以下函数使用可变参数来计算数字列表的平均值:
func average(numbers: Double...) -> Double {
let sum = numbers.reduce(0, +)
let average = sum / Double(numbers.count)
return average
}
let avg1 = average(numbers: 1.0, 2.0, 3.0, 4.0, 5.0)
let avg2 = average(numbers: 6.0, 7.0, 8.0)
print(avg1) // 输出:3.0
print(avg2) // 输出:7.0
在 Swift 中,您可以使用 _
简写语法来省略参数标签。
例如,以下函数使用 _
简写语法来省略第一个参数标签:
func sum(_ firstNumber: Int, and secondNumber: Int) -> Int {
let result = firstNumber + secondNumber
return result
}
let result = sum(5, and: 4)
print(result) // 输出:9
在 Swift 中,您可以使用隐式返回值来返回函数表达式的结果。要使用隐式返回值,请省略 return
关键字并将表达式写在函数体中。
例如,以下函数使用隐式返回值:
func double(number: Int) -> Int {
number * 2
}
let result = double(number: 4)
print(result) // 输出:8