Язык программирования Go не является ни C ++, ни Си. Подходите к нему как к новому языку.Go не имеет эквивалента для заголовочных файлов.Он имеет слабую связь с концепцией классов C ++.Поскольку вы не являетесь опытным программистом C ++, игнорируйте статью Go For C ++ Programmers .
Начните с чтения Учебное пособие по языку программирования Go .Затем прочитайте Effective Go .Просмотрите Спецификация языка программирования Go , чтобы вы знали, где искать.
Go - это открытый исходный код, так что посмотрите настоящую документацию по пакету Go и исходный код .
Для начала посмотрите на time
пакет документации и исходный код , который был написан авторами Go.Они не используют отдельные файлы для объявлений и реализации интерфейса, так почему вы хотите?Как вы говорите сами, вы еще не знаете, что делаете, так почему бы не начать с следования примеру экспертов?
Некоторые мотивы для разработки языка программирования Go возникли из желаниясоздать язык, который был бы лучше, чем C, и намного проще, чем C ++.Принимая во внимание процедурные характеристики (часто похожие на C) Go, такие концепции процедурного проектирования, как сцепление и сплоченность, полезны.Эти концепции очевидны при разбиении пакета Go time
на несколько исходных файлов.Некоторые концепции проектирования классов также будут полезны, но помните, что Go не поддерживает наследование.
Как отметил Никлаус Вирт в своей классической статье «Разработка программ путем поэтапного уточнения», ранние черновики программы редко бывают идеальными, возможнодаже небрежный иногда.Даже финальная версия редко бывает идеальной.Например, авторы Go спустя всего несколько месяцев недавно переписали пакет Go json
.
Конструкция и реализация языка программирования Go позволяет использовать множество небольших функций.Это одобряет сжатые решения.Конечно, многие функции не предоставляются за пределами пакета.Произвольные ограничения на размер или количество функций редко работают на любом языке. Программы
Go создаются путем объединения пакетов.Пакет в свою очередь состоит из одного или нескольких исходных файлов, которые вместе объявляют константы, типы, переменные и функции, принадлежащие пакету, и которые доступны во всех файлах одного и того же пакета.Эти элементы могут быть экспортированы и использованы в другом пакете. Пакеты, Спецификация языка программирования Go.
Что хочет сделать ваш первый пакет Go?Задайте конкретные вопросы, на которые можно ответить, и предоставьте детали.