Шаг 9.
Язык программирования Go.
Основы языка Go. Идентификаторы

    На этом шаге рассмотрим основы языка Go и познакомимся с идентификаторами.

    В Go большие программы строятся из набора базовых конструкций:

    Имена переменных, констант, типов, функций и пакетов в Go подчиняются правилу: имя начинается с буквы или с подчеркивания и может иметь сколько угодно дополнительных букв, цифр и подчеркиваний. Имена чувствительны к регистру (S и s являются разными именами)! Длина имени не ограничивается, но предпочтительнее использование коротких имен.

    Идентификаторами в языке Go могут быть непустые последовательности букв и цифр, начинающиеся с буквы и не совпадающие с ключевыми словами. В таб. 1 перечислены 25 ключевых слов, которые не могут использоваться в качестве идентификаторов.

Таблица 1. Ключевые слова в языке Go
break case chan const continue
default defer else fallthrough for
func go goto if import
interface map package range return
select struct switch type var

    Если сущность объявлена внутри функции, она является локальной для данной функции. Если сущность объявлена вне функции, она видна во всех файлах пакета, к которому она принадлежит. Регистр первой буквы имени определяет его видимость через границы пакета. Идентификаторы, начинающиеся с буквы в верхнем регистре считаются общедоступными, или экспортируемыми, остальные – частными, или неэкспортируемыми (правило не применяется к именам пакетов, которые в соответствии с соглашениями состоят только из букв в нижнем регистре).

    При формировании имен путем сочетания слов используются соединения слов, начинающихся с прописных букв (например, стандартные библиотеки имеют функции с такими именами, как QuoteRuneToASCII или parseRequestLine). Буквы сокращений наподобие ASCII и HTML всегда отображаются в одном и том же регистре, поэтому функция может быть названа htmlEscape, HTMLEscape, но не escapeHtml.

    Пустой идентификатор "_" - это временный идентификатор в операциях присваивания, где ожидается переменная, используется для сбрасывания любых присваиваемых ему значений. Пустой идентификатор не считается новой переменной, поэтому при использовании вместе с оператором ":=" слева должна быть указана хотя бы одна другая (новая) переменная. Допускается отбрасывать некоторые или все значения, возвращаемые функцией, присваивая их пустому идентификатору. Однако, если программе не нужно ни одно из возвращаемых значений, можно просто их игнорировать. Например:

count, err = fmt.Println(x) // получить число напечатанных байтов и ошибку
count, _ = fmt.Println(x) // получить число напечатанных байтов; отбросить ошибку
_, err = fmt.Println(x) // отбросить число напечатанных байтов; получить ошибку
fmt.Println(x) // игнорировать все возвращаемые значения

    Архив этого примера можно взять здесь.

    На следующем шаге рассмотрим объявление констант и переменных в Go.


Предыдущий шаг Содержание Следующий шаг