Функция strconv.ParseUint

Функция strconv.ParseUint преобразует строку в беззнаковое целое число (uint64). В первый параметр передается строка для преобразования, во второй параметр - основание системы счисления (от 2 до 36), в третий параметр - битность результата (от 0 до 64). Функция возвращает два значения: само число и ошибку. Если преобразование невозможно, возвращается ошибка типа *strconv.NumError.

Синтаксис

gostrconv.ParseUint(s, base, bitSize)

Пример

Преобразуем строку "12345" в число с десятичным основанием и битностью 64:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res, err := strconv.ParseUint("12345", 10, 64)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(res)
}

Результат выполнения кода:

go12345

Пример

Преобразуем строку "FF" в число с шестнадцатеричным основанием и битностью 8:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res, err := strconv.ParseUint("FF", 16, 8)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(res)
}

Результат выполнения кода:

go255

Пример

Попробуем преобразовать строку "abc" (не число) с десятичным основанием:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res, err := strconv.ParseUint("abc", 10, 64)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(res)
}

Результат выполнения кода:

go"Error: strconv.ParseUint: parsing \"abc\": invalid syntax"

Пример

Преобразуем строку "-10" (отрицательное число) - это вызовет ошибку, так как ParseUint не поддерживает знак:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res, err := strconv.ParseUint("-10", 10, 64)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(res)
}

Результат выполнения кода:

go"Error: strconv.ParseUint: parsing \"-10\": invalid syntax"

Смотрите также

  • функцию strconv.ParseInt,
    которая преобразует строку в знаковое целое число
  • функцию strconv.Atoi,
    которая преобразует строку в int в десятичной системе
  • функцию strconv.FormatUint,
    которая преобразует беззнаковое целое в строку
  • функцию strconv.ParseFloat,
    которая преобразует строку в число с плавающей точкой