Строки и JSON в Go: rune, strconv и encoding/json — задачи

Практика Go: форматирование строк, UTF-8, разбор чисел, имена файлов и поток JSON.

Состав подборки: 5 задач на код. Условия и формат проверки указаны на странице каждой задачи.

Разберите маленький пример

Строка Go хранит байты UTF-8. Разворот байтов кириллицы повреждает кодирование; работа через []rune сохраняет отдельные Unicode-кодовые точки. При этом rune не равна любому визуальному символу: составные emoji и комбинации знаков сложнее.

На что обратить внимание

  • Ошибку ParseFloat проверяйте до использования результата.
  • У формата вывода есть контракт: число знаков, разделители и переводы строк.
  • Поток JSON-объектов отличается от одного массива JSON; выберите подходящий способ декодирования.
  • Проверка расширения файла сама по себе не доказывает безопасность его содержимого.

Порядок практики

  1. Go fmt.Sprintf: форматирование строки и числа с двумя знаками — код.
  2. Go []rune: разворот строки UTF-8 без порчи кириллицы — код.
  3. Go strings.Split и strconv.ParseFloat: сумма чисел в строке — код.
  4. Go strings: проверка имени файла и расширения перед загрузкой — код.
  5. Go encoding/json: фильтрация потока JSON по полю alert — код.

Куда двигаться дальше

Начальный маршрут — бесплатный курс Go. Для сетевых сервисов после базы есть платный курс микросервисов на Go.

Ошибки и освобождение ресурсов.

Строки и JSON в Go: rune, strconv и encoding/json — задачи