Каков стандарт именования для типа структуры из нескольких слов в Go?

#go #struct

#Вперед #структура

Вопрос:

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

Каков наиболее стандартный способ присвоения имен моим структурам и файлам, которые их содержат, в следующем проекте?

У меня есть исполняемый проект с двумя структурами:

  • Foo
  • FooBar

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

  • Должен ли я называть структуры PascalCase ? если нет, то как?
  • Как должны называться файлы go?

Редактировать:

Именно из-за этого документа я сначала использовал Pascal Case, но это структура из одного слова, и не показано, что она используется в отдельном файле. https://tour.golang.org/moretypes/2

Комментарии:

1. Эффективный Go: MixedCaps

2. @icza итак, в моем случае лучше всего использовать файлы с именами: FooBar.go и FooBar_test.go ?

3. Нет, это просто соглашение об именовании идентификатора Go. Вы могли бы называть свои файлы как foobar.go и foobar_test.go .

4. Как называть ваши структуры и как называть ваши файлы — это два совершенно разных вопроса.

5. «Я хочу объявлять структуры в их собственном файле, чтобы я мог создавать тестовые файлы». Вы можете создавать тесты независимо от того, как вы называете свои структуры, в скольких файлах вы их декализируете или как вы называете эти файлы.

Ответ №1:

Эффективный пост в блоге go в официальном блоге Golang очень помогает в этом. В пакет названия раздела и смешанных крышек , как полагают icza специально полезным.

У меня также было это обсуждение с сообществом на официальном канале slack пару месяцев назад, и большинство согласились, что файлы всегда должны быть в нижнем регистре. Если имена слишком большие, вы можете использовать символы подчеркивания, будьте осторожны: сборка go будет игнорировать файлы, начинающиеся с _ , и не использовать определенные суффиксы, такие как _test.go и имена OS / arch, такие как _amd64.go или _linux.go . Инструмент сборки будет использовать только эти последние в конкретных операционных системах / архитектурах. Это указано в документах по сборке.

Итак, если вы создаете структуру с именем FooBar , ваш файл может быть foobar.go или foo_bar.go .