我有这个if if else检查: var aItem: CGFloat = 0if item == 0 { aItem = 457} else if item == 1 { aItem = 576} else if item == 2 { aItem = 758}print(aItem) 我想用switch case语句替换这段代码.怎么做? 我试过了: var aI
var aItem: CGFloat = 0 if item == 0 { aItem = 457 } else if item == 1 { aItem = 576 } else if item == 2 { aItem = 758 } print(aItem)
我想用switch case语句替换这段代码.怎么做?
我试过了:
var aItem: CGFloat = 0 switch item { case _ where item == 0: aItem = 457 case _ where item == 1: aItem = 576 case _ where item == 2: aItem = 758 default: print("this is impossible") }
它是有效的但是最好的解决方案吗?也许可以以某种方式简化这段代码?
什么是更好用? if else还是切换案例陈述?
它应该写成:let aItem: CGFloat switch item { case 0: aItem = 457 case 1: aItem = 576 case 2: aItem = 758 default: aItem = 0 print("this is impossible") } print(aItem)
如果您的商品只能是0,1或2,我会这样做:
let anItem: CGFloat = [457, 576, 758][item]
在这种情况下,使用if else或switch之间几乎没有区别.选择你最喜欢的.如果和切换有优势.使用哪种最符合您需要的代码/逻辑.或者,在这种情况下,不要使用任何一种.