我想匹配多个枚举,并有这样的事情:
guard case .north = $0, case .south = $0 else { return }
Run Code Online (Sandbox Code Playgroud)
有没有办法将此浓缩缩小为这样的单个语句?
guard case (. north, . south) = $0 else { return }
Run Code Online (Sandbox Code Playgroud)
上面没有编译,但希望我可以做这样的事情.还有其他选择吗?
您可以将所需的案例放入文字数组并用于contains测试匹配:
guard [.north, .south].contains($0) else { return }
Run Code Online (Sandbox Code Playgroud)