오류 버전을 구현합니다.와 동일한 매개변수를 허용하는 새로운 기능 fmt.Sprintf에서는 다음과 같이 정의된 NewError 함수를 사용할 수 있습니다:
func NewError(format string, a ...interface{}) error { return errors.New(fmt.Sprintf(format, a)) }
그러나 이 함수는 a의 가변 개수 인수가 NewError의 단일 배열 매개변수가 되어 Sprintf가 형식 문자열에서 단일 매개변수만 채우게 되므로 올바르게 작동하지 않습니다.
이 문제를 해결하려면 NewError의 마지막 매개변수를 ... 구문을 사용하여 가변 개수의 인수로 표시해야 합니다.
func NewError(format string, a ...interface{}) error { return errors.New(fmt.Sprintf(format, a...)) }
이를 통해 fmt.Sprintf는 a를 가변 개수의 인수로 해석할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3