Я пытаюсь сделать обертку для go для типа map [], чтобы я мог добавить некоторые методы, такие как contains () (это почти заставляет меня скучать по java).Тем не менее, я не знаю, как я могу сделать что-то вроде обобщений в Java.
Хотя почти все, что я прочитал, говорит, что golang не имеет обобщенных типов, должен быть лучший способ, чем написать отдельныйstruct для каждой возможной комбинации структур и значений, которые я использую.
Вот что я пытаюсь сделать, даже если код не работает:
func newMap(key interface{}, val interface{}) {
keytype := key.(type)
valtype := val.(type)
return hashmap{map[keytype]valtype}
}
type hashmap struct {
hashmap map[]
}
AnyПомощь / объяснения о том, как это сделать, была бы признательна.
РЕДАКТИРОВАТЬ: Содержит не единственное, что я пытаюсь воспроизвести, следовательно, желание сделать «универсальный» хэш-карту.replace (), isEmpty (), все эти забавные вещи.