Menu
CoddyTech

回顾:安全解包

本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 15 课,共 86 课。

challenge icon

挑战

简单
编写一个函数 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 在线编辑器