所有的例子都是这样的:
switch x {case > 0: print("positive")case < 0: print("negative")case 0: print("zero")}
但我想做这样的事情:
let result = switch x {case > 0: "positive"case < 0: "negative"case 0: "zero"}
目前我能看到的唯一方法是:
var result: String?switch x {case > 0: result = "positive"case < 0: result = "negative"case 0: result = "zero"}if let s = result { //...}
这显然不像基于’表达式’的switch语句那样优雅.是否有任何工作或替代方案或苹果需要做些什么来增强语言?
解决方法 Switch语句不能直接用作Swift中的表达式.但是,有一种解决方法可以做你想要的.可以在闭包中写入switch语句,如下所示:let result : String = { switch x { case _ where x > 0: return "positive" case _ where x < 0: return "negative" default: return "zero" }}()总结
以上是内存溢出为你收集整理的模式匹配作为swift中的函数表达式全部内容,希望文章能够帮你解决模式匹配作为swift中的函数表达式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)