//我想在guard 改变num2的值.可是报错了
func demoGuard() {
let oNum: Int? = nil
guard var num2 = oNum else{
num2 = 10
return
}
}
为情所困2017-05-02 09:26:41
num2의 범위는 Guard 이후만인데 else로 가면 반환됩니다. 이때 num2의 값을 변경한다는 것은 무엇을 의미하나요? oNum의 값을 변경하고 싶다고 가정합니까? 이 경우 가드에서 let oNum을 var oNum으로 변경할 수 있지만 똑같은 의미는 없습니다. 변경하려는 값이 외부 호출 중에 전달된 inout 유형 매개변수의 값인 경우에도 의미가 있을 수 있습니다.