Sobes.tech
Junior
142
questionbank

Как преобразовать строку в целое число и наоборот?

Ответ от нейросети

sobes.tech AI

Для преобразования строки в целое число используется пакет strconv, функция Atoi или ParseInt. Для преобразования целого числа в строку также используется пакет strconv, функция Itoa или FormatInt.

import "strconv"

func main() {
	// Преобразование строки в число
	strNum := "123"
	intNum, err := strconv.Atoi(strNum) // Atoi возвращает int и error
	if err != nil {
		// обработка ошибки
	}

	intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt возвращает int64, основание, битность
	if err != nil {
		// обработка ошибки
	}

	// Преобразование числа в строку
	numToStr := 789
	strResult := strconv.Itoa(numToStr) // Itoa возвращает string

	num64ToStr := int64(1011)
	strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt возвращает string, основание
}

Основные функции:

Функция Описание Возвращаемое значение Пакет
Atoi(s string) Преобразует строку в десятичное целое число. (int, error) strconv
ParseInt(s string, base int, bitSize int) Преобразует строку в целое число заданной битности и основании. (int64, error) strconv
Itoa(i int) Преобразует десятичное целое число в строку. string strconv
FormatInt(i int64, base int) Преобразует целое число заданной битности в строку с заданным основанием. string strconv

Atoi является удобным сокращением для ParseInt(s, 10, 0) с преобразованием результата в int. Itoa является сокращением для FormatInt(int64(i), 10).

При преобразовании строки в число важно обрабатывать ошибки, так как строка может содержать нечисловые символы или превышать размерность типа данных.