Описание пакета strconv
Categories:
Числовые преобразования
Наиболее распространенными числовыми преобразованиями являются 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
указывает, что значение не имеет правильного синтаксиса для целевого типа.