我一直在尝试使用移位运算符并在一段代码中展开,因为我正在学习Swift(仅供参考,我是初学者),所以我正在尝试多种方法,但我仍然坚持使用此运算符。看看关于移位运算符的不同线程,我得出结论,我可能不得不重载我的操作数然后相应地使用它们。
我的代码:
var p : Int!
p = 24 >> 2;
if let msg = p{ print (msg); }
else { print("abcd"); }
请帮忙!如果我的想法是正确的,也建议。
我想要实现的是两者都可以一起工作..如果有任何方法适用... xD
如果我正确地理解了这个问题,这是一个误解,与使用选项和移位运算符无关
如果你想使用语法if let x = y {
那么只有当y
被声明为可选时才允许这个,因为如果y
永远不是nil,那么代码是没有意义的,因为那时你可以安全地直接使用y
。
说到移位运算符,那么就我所知,这两个值都不是可选的,所以你的例子有点人为。
var y: Int?
if someCondition {
y = 42
}
if let x = y {
doStuff(x)
} else {
print("y was never set")
}
或以默认值展开
var y: Int?
let x = (y ?? 0) + 42