> 백엔드 개발 > Golang > Go에서 변수를 인쇄하기 위해 언제 %v 대신 %d를 선택해야 합니까?

Go에서 변수를 인쇄하기 위해 언제 %v 대신 %d를 선택해야 합니까?

Susan Sarandon
풀어 주다: 2024-11-23 04:55:10
원래의
223명이 탐색했습니다.

When Should You Choose %d Over %v for Printing Variables in Go?

변수 인쇄 시 %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*
로그인 후 복사

권장사항:

  • 사용 정확한 숫자 표현을 보장하려면 정수용으로 특히 %d를 사용하세요.
  • 사용자 정의된 문자열 표현이 필요한 개체를 인쇄할 때 %v를 사용하세요.
  • 문서의 정밀도와 가독성을 유지하려면 %v에만 의존하지 마세요. 코드입니다.

위 내용은 Go에서 변수를 인쇄하기 위해 언제 %v 대신 %d를 선택해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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