Синтаксис
У Go це не питання стилю, це питання синтаксису.
Експортовані імена (тобто ідентифікатори, які можна використовувати з іншого пакета, ніж той, де вони визначені), починаються з великої літери. Отже, якщо ваш метод є частиною вашого загальнодоступного API, його слід написати:
WriteToDB
але якщо це внутрішній допоміжний метод, його слід написати:
writeToDB
Перевага використання цього способу порівняно з використанням ключових слів для визначення експортованості ( extern
, public
тощо) полягає в тому, що введення його в частину імені гарантує, що де б не використовувався ідентифікатор, ви можете сказати, експортується він чи ні, не маючи необхідності знаходити його де було визначено (щоб побачити, чи містить визначення ключове слово).
Див. Також: Експортовані ідентифікатори зі специфікації.
i18n
Оскільки Go кодується UTF-8 і підтримує будь-який символ Unicode із властивістю букв або цифр в іменах ідентифікаторів, деякі люди в мовах, які не мають поняття регістру, можуть мати проблеми зі створенням експортованих методів (за замовчуванням не експортується). У цьому випадку (для каламбуру) загальноприйнятим є префікс ідентифікаторів з X
позначкою експорту Наприклад:X日本語
Дивіться також: Що з ідентифікаторами Unicode? з поширених запитань.
Стиль
Що стосується загального стилю, це завжди використання чохла на верблюді (за винятком першої літери, як уже згадувалося раніше). Сюди входять константи, функції та інші ідентифікатори. Так, наприклад, список (експортованих) констант може виглядати так:
const (
StateConnected = iota
StateError
StateDone
internalStateMask = 0x2
)
Крім того, абревіатури завжди пишуться з одним і тим самим регістром, тому ви можете написати одне з наступного:
dbWrite
writeDB
замість writeDb
або DbWrite
.