@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.