Golang에서 지도의 동등성 테스트
지도와 관련된 테이블 기반 테스트를 작성할 때 동등성을 결정하는 것이 어려울 수 있습니다. 한 가지 접근 방식은 길이와 개별 키-값 쌍의 동일성을 수동으로 확인하는 것이지만 이는 다양한 지도 유형에 대해 반복됩니다.
관용적 접근 방식
Go 라이브러리는 다음을 제공합니다. 내장 솔루션: Reflect.DeepEqual. 이 함수는 두 개의 인터페이스{} 인수를 사용하여 해당 값을 재귀적으로 비교합니다. 맵의 경우 다음 단계를 사용하여 길이, 키 및 값을 비교합니다.
사용 예
두 맵 m1과 m2를 비교하려면 다음을 사용하세요. 다음 코드:
import "reflect" eq := reflect.DeepEqual(m1, m2) if eq { fmt.Println("They're equal.") } else { fmt.Println("They're unequal.") }
이 솔루션은 사용자 정의 비교 논리가 필요하지 않으며 다양한 지도 유형에서 작동합니다. 그러나 잘못 전달된 경우 맵이 아닌 값도 비교한다는 점에 유의하세요.
위 내용은 Golang에서 지도의 동등성을 테스트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!