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