swift3.0中,if语句中使用可选型并不支持where这个关键字

来源:1-2 Swift2.0可选型的解包

小王子抓猫咪

2016-09-19 23:18

var errorCode: Int? = 404;
var errorMsg: String? = "not found";
if let errorCode = errorCode where errorCode == 404,
   let errorMsg = errorMsg{
    print(errorMsg);
}

这样的代码在swift3.0里面会报错,where这个地方会报错。

那么在swift3.0中如何使用where这个关键字

写回答 关注

4回答

  • ylei0514
    2016-09-20 12:55:48
    已采纳

    where 去掉加上 , 即可

    小王子抓猫咪

    非常感谢!

    2016-09-21 00:57:10

    共 1 条回复 >

  • 慕侠3610317
    2017-07-05 10:41:49

    where 底层会转成if, if where 会加大开销不推荐。

  • 范子祺
    2016-09-27 18:53:36

    确实要加   ,

  • 小王子抓猫咪
    2016-09-20 21:13:46

    你说的不完全正确。

    各种条件在3.0版本中应该用 , 逗号分隔,所以这里去掉where应该在前面加上  , 逗号

    if let errorCode = errorCode ,  errorCode == 404 , let errorMsg = errorMsg {  }

    qq_柏拉圖...

    但是在for循环里面怎么用where又没有问题的

    2016-09-23 14:42:14

    共 1 条回复 >

玩儿转Swift 2.0(第二季)

基于Swift2.1的swift语言教程第二季,深入地了解swift语法

15832 学习 · 54 问题

查看课程

相似问题