Go에서는 모든 변수가 비교 연산을 지원하는 것은 아니며 특히 슬라이스와 같은 복잡한 유형의 경우 더욱 그렇습니다. 이러한 경우 직접 비교에 의존하면 예상치 못한 결과가 발생할 수 있습니다.
다행히 Go 1.13에서는 이 문제를 해결하기 위해 Reflect 패키지 내에 Value.IsZero() 메서드를 도입했습니다. 이 방법은 임의 유형의 변수에 0 값이 있는지 여부를 확인하는 간단한 방법을 제공합니다. 이를 활용하는 방법은 다음과 같습니다.
if reflect.ValueOf(v).IsZero() { // v is zero, do something }
reflect.ValueOf(v) 표현식은 변수 v에 대한 Reflection.Value 개체를 추출합니다. 그런 다음 IsZero() 메서드가 이 개체에서 호출되어 해당 값이 있는지 확인합니다. 0입니다.
이 접근 방식은 기본 유형을 수용할 뿐만 아니라 Chan, Func, Array, Interface, Map, Ptr, Slice, UnsafePointer 및 구조체
위 내용은 임의의 Go 변수에서 0 값을 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!