Отражение!!!

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

Модель отражения в каждом языке разная (и многие языки вообще ее не поддерживают), мы поговорим о том, как достигается отражение в GO.

Отражение в основном позволяет вам проверять тип структур, интерфейсов, их полей и методов во время выполнения, не зная их имен. Мало того, что он также позволяет создавать новые объекты во время выполнения.

Во-первых, когда мы говорим тип, что мы на самом деле имеем в виду?

В Go есть типы и виды. Сначала давайте поймем разницу между ними. Допустим, мы определили структуру mystruct , тогда тип struct и тип mystruct

Ниже приведен код для поиска типа во время выполнения с использованием пакета Reflect.

Output : 
int
main.rstruct
0xc000084030
main.rstruct
0xc000084030

Теперь мы увидим, как мы можем создать экземпляр во время выполнения.

Output 
12 hello

Подробнее о различных возможностях пакета reflect можно прочитать в официальной документации.