swift - 当我使用“for”作为 switch 语句的表达式时,Swift 返回一个错误。如何解决这个问题?
问题描述
对于以下函数,我使用了一个名为“for”的参数。该函数包含一个 switch 语句,当我使用参数作为语句的表达式时返回错误。
代码:
func synoynms(for: String) -> [String]? {
switch for {
case "swift": return synonyms["swift"]
case "objective": return synonyms["swift"]
case "calculate": return synonyms["swift"]
case "create": return synonyms["swift"]
default: return nil
}
}
错误:
error: Synonyms.playground:25:12: error: expected expression in 'switch' statement
switch for {
^
我认为它将“for”解释为其他东西,但我会被迫找到不同的参数还是有办法解决它?
解决方案
for
是一个保留字,如果你想使用保留字作为变量或函数名,你需要用反引号将它们转义。
尝试这个
switch `for` {
PS。您可以通过添加与标签不同的变量名称来改进此函数签名,如下所示
func synoynms(for word: String) -> [String]? {
switch word {
现在word
是变量的名称,调用仍然如下所示:synonyms(for: "cheese")
推荐阅读
- c# - uwp 紧凑覆盖在屏幕上的特定位置
- python - 为什么即使没有执行一些代码也会发生错误?
- powershell - PowerShell 使用属性文件安装 MSI
- python - 访问可编辑注释
- javascript - console.log 未打印到 Visual Studio Code 中的调试控制台
- excel - 是否可以在 Excel 中以编程方式调整字段列表窗口的大小?
- vb.net - 输入日期并保存到访问时 INSERT INTO 语句中的语法错误为什么?
- python-3.x - 如何迭代熊猫中的列标题和行值?
- python - 如何在不丢失信息的情况下使用形态断开相邻区域
- c# - 如何在 LinkedIn 自定义 URL 中传递 id