Программирование, Программирование на Go для начинающих

Курс — «Программирование на Go для начинающих» — #9 Работа с данными. Строки и руны: обработка текста в Go.

Здравствуйте, дорогие друзья.

В Go обработка текста — это важная часть многих программ. Для работы с текстом Go предлагает два основных типа: строки и руны. Понимание этих типов и их использование является ключом к эффективной работе с текстовыми данными в Go.

Строки

Строка в Go — это последовательность байтов. Строки в Go неизменяемы, что означает, что после их создания изменить содержимое строки нельзя. Для изменения строки необходимо создать новую строку с необходимыми изменениями.

Строки в Go могут содержать любые данные, включая бинарные, но чаще всего они используются для хранения текста в кодировке UTF-8. Это означает, что один символ может занимать более одного байта.

Руны

Руна в Go — это одиночный символ Unicode. Тип rune является псевдонимом для int32, и он используется для представления кодовых точек Unicode. Работа с рунами особенно полезна, когда необходимо обрабатывать посимвольно текст, закодированный в UTF-8.

В этом примере r — это руна, представляющая символ китайского иероглифа «мир».

Работа со строками и рунами

Для обработки строк в Go существует стандартный пакет strings, который предлагает множество полезных функций для работы со строками, таких как поиск, замена подстрок, разделение строк на части и многое другое.

Когда дело доходит до работы с отдельными символами, часто бывает необходимо преобразовать строку в срез рун:

Теперь r — это срез рун, где каждый элемент представляет собой один символ строки s. Это позволяет выполнять итерацию по символам строки, а также получать и изменять отдельные символы.

Пример: Подсчет символов

Для подсчета количества символов в строке, учитывая, что символ может занимать более одного байта в кодировке UTF-8, лучше всего использовать срез рун:

Понимание различий между строками и рунами в Go и умение работать с ними — важный навык для любого разработчика Go. Будь то простое копирование строк, обработка текста посимвольно или международная поддержка, Go предоставляет мощные и гибкие инструменты для работы с текстом.

язык программирования Go для начинающих

На этом все. Всем хорошего дня!

Цикл статей по курсу: «Язык программирования Go для начинающих».