首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift 3,开关语句,案例hasPrefix

Swift 3,开关语句,案例hasPrefix
EN

Stack Overflow用户
提问于 2016-10-23 02:41:34
回答 2查看 3.8K关注 0票数 8

在Swift2中,您可能有类似于以下代码的内容:

代码语言:javascript
复制
    switch productIdentifier {
    case hasSuffix("q"):
        return "Quarterly".localized
    case hasSuffix("m"):
        return "Monthly".localized
    default:
        return "Yearly".localized
    }

而且会成功的。在Swift 3中,我能做上述工作的唯一方法是:

代码语言:javascript
复制
    switch productIdentifier {
    case let x where x.hasSuffix("q"):
        return "Quarterly".localized
    case let x where x.hasSuffix("m"):
        return "Monthly".localized
    default:
        return "Yearly".localized
    }

这似乎失去了Swift2版本的清晰性--这让我觉得我错过了什么。当然,上面是一个简单的版本。我很好奇有没有人能更好地处理这件事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-08 05:16:30

我不知道这是否比在示例中使用值绑定更好,但是您可以只使用下划线,

代码语言:javascript
复制
switch productIdentifier {
case _ where productIdentifier.hasSuffix("q"):
    return "Quarterly".localized
case _ where productIdentifier.hasSuffix("m"):
    return "Monthly".localized
default:
    return "Yearly".localized
票数 22
EN

Stack Overflow用户

发布于 2016-10-23 03:43:00

您似乎只检查productIdentifier的最后一个字符。你可以这样做:

代码语言:javascript
复制
switch productIdentifier.last {
case "q"?:
    return "Quarterly".localized
case "m"?:
    return "Monthly".localized
default:
    return "Yearly".localized
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40199009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档