Комментарии
Комментарии служат программной документацией. Есть две формы комментариев в Go:
Строчные комментарии (Line comments) начинаются с последовательности символов // и заканчиваются в конце строки.
Общие комментарии (General comments) начинаются с последовательности символов /* и заканчиваются первой встреченной следом последовательностью символов */.
Комментарий не может начинаться внутри рунного или строкового литерала или внутри комментария. Общий комментарий (/* */), не содержащий новых строк, действует как пробел. Любой другой комментарий действует как перевод строки.
Токены (Tokens)
Токены образуют словарь языка Go. Существует четыре класса токенов: идентификаторы (identifier), ключевые слова (keyword), операторы (operator) и знаки препинания (punctuation), литералы (literal). Пустое место, образованное из пробелов (U+0020), горизонтальных табуляций (U+0009), возвратов каретки (U+000D) и символа перевода строки (newline) (U+000A), игнорируется, за исключением того, что оно разделяет токены, которые в противном случае объединялись бы в один токен. Кроме того, новая строка (newline) или конец файла может инициировать вставку точки с запятой. Во время разделения входных данных на токены, следующим отдельным токеном считается самая длинная последовательность символов, которые образуют валидный токен.
Точки с запятой
Формальная грамматика использует точки с запятой ";" как терминаторы в ряде производств. Go программы могут опустить большинство этих точек с запятой, используя следующие два правила:
-
Когда входные данные разбиты на токены, точка с запятой автоматически вставляется в поток токенов сразу после последнего токена строки, если этот токен
- идентификатор
- целое число (integer), число с плавающей точкой (floating-point), мнимый (imaginary), рунический (rune) или строковый (string) литерал
- одно из ключевых слов: break, continue, fallthrough, или return
- один из операторов и знаков препинания ++, -, ), ] или }
- Чтобы разрешить сложным операторам занимать одну строку, точка с запятой может быть опущена перед закрывающими ")" или "}".
Идентификаторы
Идентификаторы именуют объекты программы, такие как переменные и типы. Идентификатор представляет собой последовательность из одной или нескольких букв и цифр. Первый символ в идентификаторе должен быть буквой.
identifier = letter { letter | unicode_digit } .
a
_x9
ThisVariableIsExported
αβ
Некоторые идентификаторы предопределены.
Ключевые слова
Следующие ключевые слова зарезервированы и не могут быть использованы в качестве идентификаторов:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
Операторы и знаки пунктуации
Следующие последовательности символов представляют операторы (включая операторы присвоения) и знаки пунктуации:
+ & += &= && == != ( )
- | -= |= || < <= [ ]
* ^ *= ^= <- > >= { }
/ << /= <<= ++ = := , ;
% >> %= >>= -- ! ... . :
&^ &^=
Читайте также:
- Спецификация Go: введение, нотация
- Спецификация Go: представление исходного кода
- Go примеры: Hello, gopher!
Комментариев нет:
Отправить комментарий