Я пытаюсь определить, существует ли соглашение об именах для имен const
в Голанге.
Лично я склонен следовать стилю C и писать их в верхнем регистре, но я не нашел на этой странице http://golang.org/doc/effective_go.html ничего, что, кажется, перечисляет некоторые соглашения об именах для языка.
go
const
naming-conventions
LtWorf
источник
источник
FOO_BAR_BAZ
стиле для удобства чтения, но, к сожалению, это влияет на видимость константы, и это нечасто. Мне просто пришлось проглотить свою гордость и принять соглашение, даже если оно мне не нравится.Ответы:
В стандартной библиотеке используется camel-case, поэтому я советую вам это сделать. Первая буква может быть прописной или строчной, в зависимости от того, хотите ли вы экспортировать константу.
Несколько примеров:
md5.BlockSize
os.O_RDONLY
является исключением, потому что он был заимствован непосредственно из POSIX.os.PathSeparator
источник
const
элемент был доступен другим пакетам. Если вы используетеUpperCamelCase
илиALL_CAPS
будете экспортировать его за пределы своего пакета. По этой причине я придерживаюсьlowerCamelCase
закрытых константных переменных и помню, как читал эту рекомендацию от кого-то, кто относительно близок к проекту Go (или, возможно, даже в официальной документации - я забыл где).Используйте смешанные шапки.
источник
Конкретные примеры. Обратите внимание, что объявление типа в константе (при необходимости) может быть полезно для компилятора.
источник