> 백엔드 개발 > Golang > 형식화된 오류에서 인수 무결성을 유지하는 방법은 무엇입니까?

형식화된 오류에서 인수 무결성을 유지하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-05 05:04:01
원래의
565명이 탐색했습니다.

How to Preserve Argument Integrity in Formatted Errors?

형식화된 오류에서 여러 인수의 무결성 유지

오류의 사용자 정의 버전을 구현하려면 가변 인수 형식을 허용하는 새로운 기능을 사용하세요. 기술적인 문제에 직면하게 됩니다. 제공된 코드는 다음을 보여줍니다.

<code class="go">func NewError(format string, a ...interface{}) error {
    return errors.New(fmt.Sprintf(format, a))
}</code>
로그인 후 복사

메서드 호출 중에 ...a 매개변수가 실수로 단일 배열로 병합되어 잘못된 형식이 발생합니다. 해결책은 소스 코드에서 볼 수 있듯이 fmt.Errorf의 기능을 에뮬레이트하는 것입니다.

<code class="go">func Errorf(format string, a ...interface{}) error {
    return errors.New(Sprintf(format, a...))
}</code>
로그인 후 복사

매개변수 목록 뒤에 ... 연산자가 뒤에 옵니다. Go에서 이 구문을 사용하면 병합된 단일 배열이 아닌 별도의 값으로 인수를 전달할 수 있습니다. 사양에는 이 동작이 설명되어 있습니다.

마지막 인수가 슬라이스 유형 []T에 할당 가능한 경우 인수 뒤에 ...가 오면 ...T 매개변수의 값으로 변경되지 않고 전달될 수 있습니다. .

fmt.Errorf에 표시된 대로 ... 연산자를 통합함으로써 형식 지정 중에 여러 인수가 개별성을 유지하여 원하는 동작이 발생하도록 보장합니다.

<code class="go">func NewError(format string, a ...interface{}) error {
    return errors.New(fmt.Sprintf(format, a...))
}</code>
로그인 후 복사

위 내용은 형식화된 오류에서 인수 무결성을 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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