맵에서 키를 검색할 때 유형 호환성을 보장하는 것이 중요합니다. Go의 강력한 타이핑에는 동일한 유형의 맵 키가 필요합니다. 안타깝게도 Keys() 함수가 map[interface{}]interface{} 유형의 맵을 지정하지만 실제 맵이 map[int]interface{} 유형인 경우 유형 불일치 오류가 발생합니다.
Go는 Java나 C#과 같은 언어와 달리 제네릭을 지원하지 않습니다. 이는 언어를 단순화하고 성능을 향상시킵니다. 결과적으로 모든 키 또는 값 유형의 맵에서 작동하는 일반 함수를 생성할 수 없습니다.
유형 불일치를 해결하려면 다음과 같은 몇 가지 옵션이 있습니다.
func Keys(m map[int]interface{}) []int { keys := make([]int, len(m)) i := 0 for k := range m { keys[i] = k i++ } return keys }
m2 := map[interface{}]interface{}{ 2: "string", 3: "int", }
위 내용은 Go에서 맵 키를 안전하게 검색하는 방법: 유형 불일치 문제 해결?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!