> 백엔드 개발 > Golang > Go에서 *os.PathError의 특정 정보에 액세스하기 위해 유형 어설션을 어떻게 사용합니까?

Go에서 *os.PathError의 특정 정보에 액세스하기 위해 유형 어설션을 어떻게 사용합니까?

Mary-Kate Olsen
풀어 주다: 2024-11-03 19:20:29
원래의
676명이 탐색했습니다.

How do you use type assertion to access specific information from an *os.PathError in Go?

Go의 err.(*os.PathError) 이해

유효 오류에 대한 Go 문서를 탐색하는 동안 "err"라는 줄을 발견했습니다. .(*os.PathError)" 그리고 그것이 무엇을 의미하는지 궁금했습니다.

err.(*os.PathError)가 무엇입니까?

os.Create 함수는 error를 두 번째 반환 값으로 사용하여 오류 인터페이스 { Error() string }을 구현합니다. os.Create로 파일 생성을 시도할 때 문제가 발생하면 오류를 반환합니다.

구체적으로 기기에 남은 공간이 없는 상태에서 파일 생성을 시도하면 os 패키지가 오류 구현으로 *os.PathError를 반환합니다. Error() 메서드 이외의 오류에 대한 추가 정보에 액세스하려면 이를 변환해야 합니다.

Type Assertion

문 "e, ok := err. (os.PathError)"는 유형 어설션을 수행합니다. 인터페이스 값 err에 구체적인 유형으로 os.PathError가 포함되어 있는지 확인합니다. 그렇다면 os.PathError를 e에 할당하고 ok를 true로 설정합니다. 그렇지 않으면 os.PathError(nil)의 0 값을 e에 할당하고 ok를 false로 설정합니다.

Usage

제공된 코드에서 , 장치에 남은 공간이 없음을 나타내는 ENOSPC 오류 코드를 찾고 있습니다. os.Create에서 반환된 오류가 이 코드와 일치하는 경우 정리 작업을 실행하여 일부 공간을 확보한 다음 파일 생성을 다시 시도할 수 있습니다.

위 내용은 Go에서 *os.PathError의 특정 정보에 액세스하기 위해 유형 어설션을 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿