Очень долго искал, но так и не понял внятного, а главное понятного объяснения того, зачем пакеты в Go, что это такое, какая их роль? Можете пожалуйста объяснить? Желательно, как можно легче :)
Это можно представить как аналогию с другими языками:
Классы
Namespace
Суть одна, сгруппировать код выполняющий одну задачу и отделить его от остального кода для удобства поддержки.
Например пакет net/http позволяет работать с http протоколом. encode/json, c json форматом и т.д.