변수 인쇄 시 %v에 대한 과도한 의존 방지
%v는 정수(%d)와 문자열( %s) 단독으로 사용하면 의도하지 않은 결과가 발생할 수 있습니다.
기본값 값 형식 지정과 정확한 유형 형식 지정
%d는 fmt 패키지에 10진수로 정수를 인쇄하도록 명시적으로 지시합니다. 이와 대조적으로 %v는 기본 형식 지정 방법을 사용하며 이는 유형에 따라 달라질 수 있습니다. 인쇄됩니다.
스트링거 인터페이스 구현 재정의
객체가 fmt.Stringer 인터페이스를 구현하고 사용자 정의 String() 메소드를 제공하면 %v는 기본 형식화보다 해당 메소드를 우선시합니다. 정수를 사용자 정의 문자열이 아닌 숫자로 인쇄하려는 경우 예상치 못한 결과가 발생할 수 있습니다. 표현.
예:
type MyInt int func (mi MyInt) String() string { return fmt.Sprintf("*%d*", int(mi)) } func main() { mi := MyInt(2) fmt.Printf("%d %v", mi, mi) }
출력:
2 *2*
권장사항:
위 내용은 Go에서 변수를 인쇄하기 위해 언제 %v 대신 %d를 선택해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!