пятница, 5 июня 2020 г.

Пакет strconv в Golang

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

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

Наиболее распространенные числовые преобразования - это Atoi (string в 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)

Функции parse возвращают самый широкий тип (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 удаляют кавычки из строковых литералов и литералов рун.


Читайте также:


Комментариев нет:

Отправить комментарий