Swift - 如何检查 switch case 是否包含值

问题描述 投票:0回答:2

我正在尝试做类似的事情

var name = "Thiago Valente"

switch name {
case .contains("Valente"):
   return "Hello, My surname is like your"
default:
   return "Hi ;)"
}

contains
不存在,所以可以使用switch case吗? (我知道使用 if-else 很简单)

switch-statement swift5
2个回答
4
投票

您可以使用

let x
模式,后跟
where
子句:

var name = "Thiago Valente"

switch name {
case let x where x.contains("Valente"):
   return "Hello, My surname is like your"
default:
   return "Hi ;)"
}

通常

let x
将匹配每个值,但您可以在
where
子句中更具体地说明要匹配哪种值。


0
投票

如果值是可选的,只需添加?

var name: String? = "Thiago Valente"

switch name {
case let x? where x.contains("Valente"):
   return "Hello, My surname is like your"
default:
   return "Hi ;)"
}
© www.soinside.com 2019 - 2024. All rights reserved.