Строки и JSON в Go: rune, strconv и encoding/json — задачи
Практика Go: форматирование строк, UTF-8, разбор чисел, имена файлов и поток JSON.
Состав подборки: 5 задач на код. Условия и формат проверки указаны на странице каждой задачи.
Разберите маленький пример
Строка Go хранит байты UTF-8. Разворот байтов кириллицы повреждает кодирование; работа через []rune сохраняет отдельные Unicode-кодовые точки. При этом rune не равна любому визуальному символу: составные emoji и комбинации знаков сложнее.
На что обратить внимание
- Ошибку ParseFloat проверяйте до использования результата.
- У формата вывода есть контракт: число знаков, разделители и переводы строк.
- Поток JSON-объектов отличается от одного массива JSON; выберите подходящий способ декодирования.
- Проверка расширения файла сама по себе не доказывает безопасность его содержимого.
Порядок практики
- Go fmt.Sprintf: форматирование строки и числа с двумя знаками — код.
- Go []rune: разворот строки UTF-8 без порчи кириллицы — код.
- Go strings.Split и strconv.ParseFloat: сумма чисел в строке — код.
- Go strings: проверка имени файла и расширения перед загрузкой — код.
- Go encoding/json: фильтрация потока JSON по полю alert — код.
Куда двигаться дальше
Начальный маршрут — бесплатный курс Go. Для сетевых сервисов после базы есть платный курс микросервисов на Go.
- Go fmt.Sprintf: форматирование строки и числа с двумя знаками
Считайте название, количество и цену, затем соберите карточку товара через fmt.Sprintf с ценой до двух знаков.
Golang с нуля - Go []rune: разворот строки UTF-8 без порчи кириллицы
Разверните строку по рунам, а не по байтам, и проверьте точное совпадение с исходной строкой.
Golang с нуля - Go strings.Split и strconv.ParseFloat: сумма чисел в строке
Разберите строку чисел через запятую, уберите пробелы и верните первое поле с ошибкой либо сумму с двумя знаками.
Golang с нуля - Go strings: проверка имени файла и расширения перед загрузкой
Проверьте пробелы, двойную точку и допустимое расширение файла с помощью функций пакета strings.
Golang с нуля - Go encoding/json: фильтрация потока JSON по полю alert
Читайте JSON-объекты до конца потока, выводите только тревожные события и пропускайте нулевое value в результате.
Golang с нуля
