형식화된 오류에서 여러 인수의 무결성 유지
오류의 사용자 정의 버전을 구현하려면 가변 인수 형식을 허용하는 새로운 기능을 사용하세요. 기술적인 문제에 직면하게 됩니다. 제공된 코드는 다음을 보여줍니다.
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!