Имена именования для констант
Я пытаюсь определить, существует ли соглашение об именах для имен const
в Голанге.
Я лично хотел бы следовать стилю C и писать в верхнем регистре, но я ничего не нашел на этой странице http://golang.org/doc/effective_go.html, который, как представляется, перечисляет некоторые соглашения об именах для языка.
Ответы
Ответ 1
В стандартной библиотеке используется верблюжий футляр, поэтому я советую вам это сделать. Первая буква - в верхнем или нижнем регистре, в зависимости от того, хотите ли вы экспортировать константу.
Несколько примеров:
-
md5.BlockSize
-
os.O_RDONLY
является исключением, поскольку он был заимствован непосредственно из POSIX.
-
os.PathSeparator
Ответ 2
Комментарии к обзору Go Code
На этой странице собраны общие комментарии, сделанные во время обзоров кода Go, поэтому что одно подробное объяснение можно отнести к сокращению. Это список обычных ошибок, а не руководство по стилю.
Вы можете просмотреть это как дополнение к http://golang.org/doc/effective_go.html.
Смешанные шапки
См. http://golang.org/doc/effective_go.html#mixed-caps. Это относится даже когда он нарушает соглашения на других языках. Например, Необязательная константа - maxLength, а не MaxLength или MAX_LENGTH.
Эффективный путь
MixedCaps
Наконец, соглашение в Go состоит в том, чтобы использовать MixedCaps или mixedCaps чем подчеркивания для написания имен многослов.
Спецификация языка программирования Go
Экспортированные идентификаторы
Идентификатор может быть экспортирован, чтобы разрешить доступ к нему из другого пакет. Идентификатор экспортируется, если оба:
Все остальные идентификаторы не экспортируются.
Используйте смешанные колпачки.
Ответ 3
Конкретные примеры. Обратите внимание, что объявление типа в константе (когда это уместно) может быть полезным для компилятора.
// Only visible to the local file
const localFileConstant string = "Constant Value with limited scope"
// Exportable constant
const GlobalConstant string = "Everyone can use this"