回顾:安全解包
本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 15 课,共 86 课。
挑战
简单编写一个函数 formatPlayerInfo,它接收字符串形式的玩家 name、score 和 level,并返回格式化后的玩家摘要。
使用你学过的三种解包技巧,处理可能缺失的值:
- 使用
guard let检查名称是否有效(非空)。如果名称为空,立即返回"Unknown player"。 - 使用
??(空合并运算符),在分数为空时将默认分数设为"0"。 - 使用
if let检查等级是否有效(非空)。如果有值,就将它包含在输出中;否则,省略等级部分。
输出格式:
- 如果提供了等级:
"[name] - Score: [score], Level: [level]" - 如果等级为空:
"[name] - Score: [score]"
参数:
name(String):玩家名称(空字符串表示 nil)score(String):玩家分数(空字符串表示 nil)level(String):玩家等级(空字符串表示 nil)
返回值:包含玩家信息的格式化字符串;如果名称为空,则返回 "Unknown player"。
提示:在函数中将空字符串转换为可选值,方法是检查字符串是否为空,并在为空时赋值为 nil。
亲手试试
func formatPlayerInfo(name: String, score: String, level: String) -> String {
// 在这里写代码
}
基础知识中的所有课
自己练习: Swift 在线编辑器