Функция strconv.ParseUint
Функция strconv.ParseUint преобразует строку в беззнаковое целое число (uint64).
В первый параметр передается строка для преобразования,
во второй параметр - основание системы счисления (от 2 до 36),
в третий параметр - битность результата (от 0 до 64).
Функция возвращает два значения: само число и ошибку.
Если преобразование невозможно, возвращается ошибка типа *strconv.NumError.
Синтаксис
strconv.ParseUint(s, base, bitSize)
Пример
Преобразуем строку "12345" в число с десятичным основанием и битностью 64:
package main
import (
"fmt"
"strconv"
)
func main() {
res, err := strconv.ParseUint("12345", 10, 64)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(res)
}
Результат выполнения кода:
12345
Пример
Преобразуем строку "FF" в число с шестнадцатеричным основанием и битностью 8:
package main
import (
"fmt"
"strconv"
)
func main() {
res, err := strconv.ParseUint("FF", 16, 8)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(res)
}
Результат выполнения кода:
255
Пример
Попробуем преобразовать строку "abc" (не число) с десятичным основанием:
package main
import (
"fmt"
"strconv"
)
func main() {
res, err := strconv.ParseUint("abc", 10, 64)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(res)
}
Результат выполнения кода:
"Error: strconv.ParseUint: parsing \"abc\": invalid syntax"
Пример
Преобразуем строку "-10" (отрицательное число) - это вызовет ошибку, так как ParseUint не поддерживает знак:
package main
import (
"fmt"
"strconv"
)
func main() {
res, err := strconv.ParseUint("-10", 10, 64)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(res)
}
Результат выполнения кода:
"Error: strconv.ParseUint: parsing \"-10\": invalid syntax"
Смотрите также
-
функцию
strconv.ParseInt,
которая преобразует строку в знаковое целое число -
функцию
strconv.Atoi,
которая преобразует строку вintв десятичной системе -
функцию
strconv.FormatUint,
которая преобразует беззнаковое целое в строку -
функцию
strconv.ParseFloat,
которая преобразует строку в число с плавающей точкой