찾다

 >  Q&A  >  본문

objective-c - Swift 里 guard 的里面不能用变量吗 , 那我想修改怎么办。

//我想在guard 改变num2的值.可是报错了
func demoGuard() {

    let oNum: Int? =  nil
    
 guard var num2 = oNum else{
        num2 = 10
        return
    }    
    

}

高洛峰高洛峰2757일 전511

모든 응답(2)나는 대답할 것이다

  • 为情所困

    为情所困2017-05-02 09:26:41

    num2의 범위는 Guard 이후만인데 else로 가면 반환됩니다. 이때 num2의 값을 변경한다는 것은 무엇을 의미하나요? oNum의 값을 변경하고 싶다고 가정합니까? 이 경우 가드에서 let oNum을 var oNum으로 변경할 수 있지만 똑같은 의미는 없습니다. 변경하려는 값이 외부 호출 중에 전달된 inout 유형 매개변수의 값인 경우에도 의미가 있을 수 있습니다.

    회신하다
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-02 09:26:41

    이 요구 사항은 매우 이상합니다. ?? 연산자를 사용하는 것은 어떨까요

    으아악

    회신하다
    0
  • 취소회신하다