이 코드는 예상대로 작동하며 공황에서 복구 한 후 -1로 설정하고 사용자 정의 오류 메시지로 오류를 설정합니다. 그러나, 우리가 function literal 내에서 로컬 변수를 사용하는 경우, 동작은 다음과 같습니다. var result int var err 오류 연기 func () { e : = revery (); e! = nil { 결과 = -1 err = errors.new (예 : (String)) } } () 술집() 결과 = 100 err = nil 반환 결과, err } func bar () { 공황 ( "공황이 일어났다") }
이 경우 결과는 -1 대신 0으로 재설정됩니다. 이는 리터럴이 더 이상 범위에 있지 않기 때문에 이름이 지정된 리턴 값에 액세스하거나 수정할 수 없기 때문입니다.부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3