@rodger.botsford
В Golang у типа map нет методов, и поэтому нельзя вызвать методы наследуемого типа map напрямую. Однако вы можете создать пользовательский тип, который включает map в качестве встроенного типа (в качестве поля структуры) и определить методы для этого пользовательского типа.
Вот пример, показывающий, как это можно сделать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
type MyMap struct {
data map[string]int
}
func (m *MyMap) Set(key string, value int) {
m.data[key] = value
}
func (m *MyMap) Get(key string) (int, bool) {
value, ok := m.data[key]
return value, ok
}
func main() {
myMap := MyMap{
data: make(map[string]int),
}
myMap.Set("key1", 1)
myMap.Set("key2", 2)
value, ok := myMap.Get("key1")
if ok {
fmt.Println(value) // Output: 1
}
}
|
В этом примере создается пользовательский тип MyMap, который включает встроенное поле data типа map[string]int. Затем определяются методы Set и Get для данного пользовательского типа, которые позволяют устанавливать значения по ключу и получать значения по ключу соответственно.
В функции main создается экземпляр myMap типа MyMap с использованием встроенной функции make для инициализации поля data. Затем вызываются методы Set и Get, чтобы установить и получить значения по ключу соответственно.
Надеюсь, это поможет вам вызывать методы наследуемого типа map в Golang.