解决方法
这意味着具有多个模式的案例标签无法声明变量.
这是允许的:
let somePoint = (1,1) switch somePoint { // Case with multiple patterns without binding case (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 binding case (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 bindings case (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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。