Литералы строковых значений
Строковые значения в Go имеют кодировку UTF-8. Все исходные файлы Go должны быть совместимы с кодировкой UTF-8.
Существует две формы литералов строковых значений:
- интерпретируемый строковый литерал — форма двойных кавычек;
- необработанный строковый литерал — форма обратных кавычек.
Например, следующие два строковых литерала эквивалентны.
В интерпретированном выше строковом литерале каждая \n пара символов будет экранирована как один символ новой строки, а каждая \" пара символов будет экранирована как один символ двойной кавычки. Большинство таких пар escape-символов совпадают с парами escape-символов, используемых в рунических литералах, представленных выше, за исключением того, что они \" допустимы только в интерпретируемых строковых литералах и \` разрешены только в рунических литералах.
Последовательность символов \, \x, \u и \U несколько восьмеричных или шестнадцатеричных цифр, представленная в последнем разделе, также может использоваться в интерпретируемых строковых литералах.
Обрати внимание, что каждый английский символ (кодовая точка) представлен одним байтом, а каждый китайский символ (кодовая точка) представлен тремя байтами.
В необработанном строковом литерале никакие последовательности символов не будут экранированы. Символ обратной кавычки не может появляться в необработанном строковом литерале. Для лучшей межплатформенной совместимости символы возврата каретки (кодовая точка Unicode 0x0D) внутри необработанных строковых литералов будут отброшены.
Нулевые значения строковых типов могут быть обозначены как "" или `` литерал.