Swift:具有多个模式的Switch case无法绑定到变量

Swift:具有多个模式的Switch case无法绑定到变量,第1张

概述在官方 Swift Programming Language指南中,有关切换案例的说法: “…如果案例包含多个与控制表达式匹配的模式,则这些模式都不能包含常量或变量绑定.” 包含多个模式意味着什么? 这意味着具有多个模式的案例标签无法声明变量. 这是允许的: let somePoint = (1, 1)switch somePoint {// Case with multiple patter 在官方 Swift Programming Language指南中,有关切换案例的说法:
“…如果案例包含多个与控制表达式匹配的模式,则这些模式都不能包含常量或变量绑定.”

包含多个模式意味着什么?

解决方法 这意味着具有多个模式的案例标签无法声明变量.

这是允许的:

let somePoint = (1,1)switch somePoint {// Case with multiple patterns without bindingcase (0,_),(_,0):    println("(\(somePoint.0),\(somePoint.1)) is on an axis")default:    println("(\(somePoint.0),\(somePoint.1)) is not of an axis")}

这也是允许的:

let somePoint = (1,1)switch somePoint {// Case with single patterns with bindingcase (0,let y):    println("(0,\(y)) is on an axis")case (let x,0):    println("(\(x),0) is on an axis")default:    println("(\(somePoint.0),\(somePoint.1)) is not of an axis")}

但是,这是禁止的:

let somePoint = (1,1)switch somePoint {// Case with multiple patterns that have bindingscase (0,let y),(let x,\(y)) is on an axis")default:    println("(\(somePoint.0),\(somePoint.1)) is not of an axis")}

以上产生错误:

error: 'case' labels with multiple patterns cannot declare variables
总结

以上是内存溢出为你收集整理的Swift:具有多个模式的Switch case无法绑定到变量全部内容,希望文章能够帮你解决Swift:具有多个模式的Switch case无法绑定到变量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存