函数的定义
// 无参数无返回值的函数
func greet() {
print("Hello!")
}
// 带参数的函数
func greet(person: String) {
print("Hello, \(person)!")
}
// 带参数和返回值的函数
func add(_ a: Int, _ b: Int) -> Int {
return a + b
}
函数的调用
greet() // 调用无参数无返回值的函数
greet(person: "Alice") // 调用带参数的函数
let result = add(5, 3) // 调用带参数和返回值的函数
print("Result: \(result)")
函数参数
在 Swift 中,函数参数可以有参数标签(external parameter name)和参数名(local parameter name):
func sayHello(to person: String) {
print("Hello, \(person)!")
}
sayHello(to: "Bob")
上面的例子中,to 是参数标签,用于在函数调用时提供更具可读性的标签,而person是参数名,用于在函数内部引用参数的值。
默认参数值
func power(base: Int, exponent: Int = 2) -> Int {
return Int(pow(Double(base), Double(exponent)))
}
let result1 = power(base: 3) // 使用默认的指数值
let result2 = power(base: 3, exponent: 3)
可变参数
func average(_ numbers: Double...) -> Double {
let total = numbers.reduce(0, +)
return total / Double(numbers.count)
}
let avg = average(1.0, 2.5, 3.0, 4.5)
函数类型
在 Swift 中,函数也是一种类型,可以作为参数传递和作为返回值:
func add(_ a: Int, _ b: Int) -> Int {
return a + b
}
func multiply(_ a: Int, _ b: Int) -> Int {
return a * b
}
// 函数类型 (Int, Int) -> Int
var mathFunction: (Int, Int) -> Int = add
let result = mathFunction(2, 3) // 结果为 5
以上是一些 Swift 函数的基本用法。Swift 还提供了更多高级特性,如闭包(closures)、函数重载、函数嵌套等。
转载请注明出处:http://www.zyzy.cn/article/detail/14424/Swift