//我想在guard 改变num2的值.可是报错了func demoGuard() {
let oNum: Int? = nil guard var num2 = oNum else{ num2 = 10 return }
}
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
num2のスコープはガード後だけですが、elseに行くと戻ってきますが、このときnum2の値を変更する意味は何でしょうか? oNum の値を変更したいと思いますか? この場合、ガード内の let oNum を var oNum に変更することもできますが、同じことは意味がありません。 変更したい値が、外部呼び出し中に渡される inout 型パラメータの値である場合にも意味があるかもしれません。
この要件は非常に奇妙です。??演算子を使用しないのはなぜですか
num2のスコープはガード後だけですが、elseに行くと戻ってきますが、このときnum2の値を変更する意味は何でしょうか? oNum の値を変更したいと思いますか? この場合、ガード内の let oNum を var oNum に変更することもできますが、同じことは意味がありません。 変更したい値が、外部呼び出し中に渡される inout 型パラメータの値である場合にも意味があるかもしれません。
この要件は非常に奇妙です。??演算子を使用しないのはなぜですか
リーリー