Конвертация строк в числа и с плавающей запятой

Строки можно преобразовывать в цифры, используя пакет strconv в стандартной библиотеке Go. Пакет strconv содержит функции для преобразования для типов integer и float. Это очень распространенная операция при получении ввода от пользователя. Например, если у вас есть программа, которая запрашивает возраст пользователя, и когда пользователь вводит данные, они сохраняются как string. Затем вам нужно будет преобразовать их в int, чтобы выполнять математические операции.

Если строка не имеет десятичных дробей, вы можете преобразовать ее в целое число, используя функцию strconv.Atoi. Если вы знаете, что будете использовать число типа float, вам следует использовать strconv.ParseFloat.

Давайте используем в качестве примера пользователя Sammy, отслеживающего количество строк, которое он пишет каждый день. Возможно, вам нужно будет выполнять математические манипуляции, чтобы предоставить пользователю более интересные данные, но эти значения хранятся в строках:
Поскольку два числовых значения хранятся в строках, вы получили ошибку. Операнд - для вычета не является действительным оператором для строковых значений.
Измените код, включив метод strconv.Atoi(), который будет преобразовывать строки в числа, что позволит выполнять математические операции со значениями, которые были строками. Поскольку при преобразовании строки в целое число может произойти сбой, вы должны убедиться в отсутствии ошибок. Вы можете использовать оператор if, чтобы проверить, что конвертация была выполнена успешно.
Поскольку строка может содержать не только числовые значения, метод strconv.Atoi() может возвращать как преобразованный тип, так и потенциальную ошибку. При преобразовании lines_yesterday с помощью функции strconv.Atoi вы должны проверить возвращаемое значение err, чтобы убедиться, что значение преобразовано. Если err не nil, это означает, что strconv.Atoi удалось успешно преобразовать значение строки в целое число. В данном примере вы использовали оператор if для проверки на ошибки, и если возвращена ошибка, вы использовали log.Fatal для сохранения ошибки и выхода из программы.