函数定义与参数
func 定义、参数标签/内部名、默认值、可变参数、inout 修改
函数定义与参数
Swift 函数特色:参数标签(外部名/内部名分离)、默认值、inout 修改外部变量。
学完本章你将: 掌握 func 定义、参数标签、inout、可变参数。
函数定义
swift
func greet(person: String) -> String {
return "Hello, \(person)!"
}
// 无返回值
func sayHello() {
print("Hello")
}
// 隐式返回(单表达式)
func add(_ a: Int, _ b: Int) -> Int { a + b }
参数标签
swift
// 外部标签 + 内部名
func greet(to person: String, from city: String) {
print("\(person) 来自 \(city)")
}
greet(to: "小明", from: "北京") // 调用时用外部标签
// 省略外部标签
func multiply(_ a: Int, _ b: Int) -> Int {
a * b
}
multiply(3, 5) // 不写参数名
// 默认值
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "小明") // "Hello, 小明!"
greet(name: "小红", greeting: "Hi") // "Hi, 小红!"
inout 与可变参数
swift
// inout —— 修改外部变量(传引用)
func swap(_ a: inout Int, _ b: inout Int) {
let temp = a
a = b
b = temp
}
var x = 10, y = 20
swap(&x, &y) // x=20, y=10
// 可变参数
func sum(_ numbers: Int...) -> Int {
numbers.reduce(0, +)
}
sum(1, 2, 3, 4, 5) // 15