Описание пакета strconv

Пакет strconv реализует преобразования в строковые представления основных типов данных и обратно.

Числовые преобразования

Наиболее распространенными числовыми преобразованиями являются Atoi (строка в int) и Itoa (int в String).

i, err := strconv.Atoi(«-42»)
s := strconv.Itoa(-42)

Они предполагают десятичную систему счисления и тип Go int.

ParseBool, ParseFloat, ParseInt и ParseUint преобразуют строки в значения:

b, err := strconv.ParseBool(«true»)
f, err := strconv.ParseFloat(«3.1415», 64)
i, err := strconv.ParseInt(«-42», 10, 64)
u, err := strconv.ParseUint(«42», 10, 64)

Функции преобразования возвращают самый широкий тип (float64, int64 и uint64), но если аргумент size указывает более узкую ширину, результат может быть преобразован в этот более узкий тип без потери данных:

s := «2147483647» // самый большой int32
i64, err := strconv.ParseInt(s, 10, 32)
...
i := int32(i64)

FormatBool, FormatFloat, FormatInt и FormatUint преобразуют значения в строки:

s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, E, -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)

AppendBool, AppendFloat, AppendInt и AppendUint аналогичны, но добавляют отформатированное значение в целевой срез.

Преобразование строк

Quote и QuoteToASCII преобразуют строки в строчные литералы Go в кавычках. Последний гарантирует, что результатом будет строка ASCII, экранируя любой не-ASCII Unicode с помощью \u:

q := strconv.Quote(«Hello, 世界»)
q := strconv.QuoteToASCII(«Hello, 世界»)

QuoteRune и QuoteRuneToASCII похожи, но принимают руны и возвращают зацикленные литералы Go.

Unquote и UnquoteChar разъединяют литералы строк и рун Go.

Константы

const IntSize = intSize

IntSize - это размер в битах значения int или uint.

Переменные

var ErrRange = errors.New("значение вне диапазона")

ErrRange указывает, что значение выходит за пределы диапазона для целевого типа.

var ErrSyntax = errors.New("invalid syntax")

ErrSyntax указывает, что значение не имеет правильного синтаксиса для целевого типа.