go сделать инкапсуляцию на уровне типа.
То есть чтобы потребители не лезли в кишочки напрямую, мимо GetNames().
Приходится такие типы заворачивать каждый в свой package, что выглядит туповато.
Может альтернативы подскажет кто?
Это единственный вариант
Можно публиковать интерфейсы вместо типов и заставлять потребителей использовать только их, не зная какие типы их реализуют. Это тоже решение, но тоже не без сложностей.
Обсуждают сегодня