>백엔드 개발 >Golang >유형에 관계없이 Go 변수가 0인지 확인하는 방법은 무엇입니까?

유형에 관계없이 Go 변수가 0인지 확인하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-02 21:33:11532검색

How to Determine if a Go Variable is Zero Regardless of its Type?

Golang에서 유형에 관계없이 변수 0 값 결정

Golang에서는 슬라이스와 같은 모든 변수를 비교할 수 있는 것은 아닙니다. 이는 임의 유형의 변수가 0인지 확인하는 데 어려움을 겪습니다. 비교 불가능한 유형에 대해 Reflect.Zero(reflect.TypeOf(v)).Interface()를 사용한 직접 비교 사용 시도가 실패합니다.

Go의 솔루션: Reflect.Value.IsZero()

Go 버전 1.13에서는 Reflect 패키지에 IsZero 메서드가 도입되었습니다. 이 함수를 사용하면 비교할 수 없는 유형에 대해서도 0 값을 확인할 수 있습니다.

사용법:

유형에 관계없이 변수 v가 ​​0인지 확인하려면, 다음 코드를 사용하세요:

if reflect.ValueOf(v).IsZero() {
    // v is zero, perform custom actions
}

지원됨 유형:

IsZero 메서드는 다음 유형에 대해 0 값 검사를 지원합니다.

  • 기본 유형
  • Chan, Func, Array, Interface, Map , Ptr, Slice, UnsafePointer 및 Struct

위 내용은 유형에 관계없이 Go 변수가 0인지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.