При анализе файла go.mod его содержимое разбивается на последовательность токенов. Есть несколько видов токенов: пробелы, комментарии, знаки препинания, ключевые слова, идентификаторы и строки.
Пробел состоит из пробелов (U+0020), табуляции (U+0009), возврата каретки (U+000D) и новой строки (U+000A). Символы пробела, отличные от символов новой строки, не действуют, за исключением отдельных токенов, которые в противном случае были бы объединены. Новые строки - важные токены.
Комментарии начинаются с // и заканчиваются до конца строки. /* */ комментарии не допускаются.
Знаки пунктуации включают (, ), и =>.
Ключевые слова различают различные типы директив в файле go.mod. Допустимые ключевые слова: module, go, require, replace и exclude.
Идентификаторы - это последовательности непробельных символов, например пути к модулям или семантические версии.
Строки - это последовательности символов в кавычках. Есть два вида строк: интерпретируемые строки, начинающиеся и заканчивающиеся кавычками (", U+0022), и необработанные строки, начинающиеся и заканчивающиеся серьезными акцентами ( ` , U+0060). Интерпретируемые строки могут содержать escape-последовательности, состоящие из обратной косой черты (\, U+005C), за которым следует другой символ. Экранированные кавычки (\") не завершают интерпретируемую строку. Значение интерпретируемой строки без кавычек - это последовательность символов между кавычками, где каждая escape-последовательность заменяется символом, следующим за обратной косой чертой (например, \" заменяется на ", \n заменяется на n). Напротив, значение необработанной строки без кавычек - это просто последовательность символов между серьезными акцентами; обратная косая черта не имеет особого значения в необработанных строках.
В грамматике go.mod идентификаторы и строки взаимозаменяемы.
Читайте также:
- Модули в Golang: суффиксы основной версии
- Модули в Golang: преобразование пакета в модуль
- Модули в Golang: файл go.mod
Комментариев нет:
Отправить комментарий