默认值
本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 57 课,共 86 课。
有时,参数有一个大多数时候都会使用的值。你可以为该参数指定一个默认值,这样就不用每次都要求调用方提供它。
要设置默认值,请在参数的类型后使用赋值运算符(=):
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "Alice") // 输出:Hello, Alice!
greet(name: "Bob", greeting: "Hi") // 输出:Hi, Bob!调用函数时,你可以省略有默认值的参数。Swift 会自动使用默认值。但如果你需要其他值,仍然可以显式提供。
带默认值的参数应放在参数列表的末尾。这样可以让函数调用简洁易读:
func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
return base + (base * taxRate)
}
print(calculatePrice(base: 100)) // 输出:110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // 输出:120.0默认值让你的函数更灵活。对于常见情况,函数可以直接使用;需要时也可以进行自定义。
挑战
简单编写一个函数 formatGreeting,它接收 name、greeting 和 repeatCount,并返回一条格式化的问候消息。
这个函数应为可选参数使用默认值:
greeting的默认值应为"Hello"repeatCount的默认值应为1
构建一个字符串,按指定次数重复问候语模式,并用空格分隔。
参数:
name(String):此人的姓名(必需)greeting(String):问候语(默认值:"Hello")repeatCount(Int):重复问候语的次数(默认值:1)
返回值:重复问候语模式后得到的字符串。格式:将 "[greeting], [name]!" 重复 repeatCount 次,每次之间用一个空格分隔(String)
例如,如果 name 是 "Alice",greeting 是 "Hi",并且 repeatCount 是 2,那么函数会返回 "Hi, Alice! Hi, Alice!"。
如果只传入 name,并将其设为 "Bob"(使用默认值),函数会返回 "Hello, Bob!"。
亲手试试
func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
// 在这里编写代码
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Swift 在线编辑器