Sobes.tech
Back to questions
Junior — Middle
97

Какова роль пустого интерфейса в языке Go и в каких случаях его используют?

Answer from AI

sobes.tech AI

В Go пустой интерфейс interface{} — это интерфейс, который не содержит ни одного метода. Он может хранить значение любого типа, поскольку все типы реализуют пустой интерфейс по умолчанию.

Используют пустой интерфейс в следующих случаях:

  • Для хранения значений разных типов в одной переменной, например, в срезах или словарях.
  • В функциях, которые должны принимать аргументы любого типа (аналог универсальных параметров).
  • При работе с динамическими данными, например, при парсинге JSON, где структура данных заранее неизвестна.

Пример:

var data interface{}
data = 42
fmt.Println(data) // 42
data = "строка"
fmt.Println(data) // строка

Таким образом, пустой интерфейс обеспечивает гибкость, позволяя работать с данными без строгой типизации.