Зачем type в Go?

Добрый день/утро/ночь.

Я начинающий разработчик на Go, и у меня давно зреет вопрос о смысле type в Go. Зачем она нужна? Что она даёт? Скорость? Особенно меня волнует, зачем нужна конструкция type .. struct? Если все переменные можно объявить в var?
Если можно, то приведите пример на реальном проекте.

P.S.Я не сильно глуп, но почему-то именно это я не могу понять:(
  • Вопрос задан
  • 4344 просмотра
Решения вопроса 1
Lerg
@Lerg
Defold, Corona, Lua, GameDev
type создаёт не переменную, а тип данных. Это как typedef из C.
Например у вас есть база данных, и каждая запись в таблице может быть представленна в виде struct.
Делаете type DBRecord struct {... описываете все поля, и затем создаёте переменную var myRecord DBRecord
После этого в эту переменную можно как прочитать данные из БД, так и записать в неё новые данные и добавить в ту же БД.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@noxiouz
Для struct можно реализовать методы, используя функции с receiver. Набор методов реализует interface - это есть некий аналог передачи указателя на базовый класс в С++. Его можно передавать, использовать. Вообщем скрывать детали реализации и ориентироваться только на интерфейс.

Простой пример
play.golang.org/p/jtf7rlkl1m
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
Вы путаете мягкое и холодное. type - определение типа будущей переменной, var - это создание переменной конкретного типа. Грубо говоря разница между type И var тождественна: Homo Sapiens И Василий Пупкин
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы