Какой интерфейс реализует структура Map в языке Go?

В языке Go структура Map не реализует интерфейс в классическом смысле, так как map — это встроенный тип данных для хранения пар ключ-значение.

Короткий ответ

Что ответить на собеседовании

В языке Go структура Map не реализует интерфейс в классическом смысле, так как map — это встроенный тип данных для хранения пар ключ-значение.

Подробный разбор

Ответ с пояснениями

В языке Go структура Map не реализует интерфейс в классическом смысле, так как map — это встроенный тип данных для хранения пар ключ-значение.

Однако, если говорить об интерфейсах, то map удовлетворяет интерфейсу map-подобных операций: доступ по ключу, добавление, удаление и проверка наличия ключа.

Пример использования map в Go:

package main
import "fmt"

func main() {
    m := make(map[string]int)
    m["apple"] = 5
    fmt.Println(m["apple"]) // вывод: 5
}

Если же вопрос о том, какой интерфейс реализует map, то можно сказать, что map не реализует никакой стандартный интерфейс, так как интерфейсы в Go определяются методами, а map — это тип данных без методов.

Для работы с map обычно определяют собственные интерфейсы, если нужно абстрагировать доступ к данным.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее