Функция strconv.ParseInt

Функция strconv.ParseInt преобразует строку в целое число типа int64. Она принимает три параметра: строку для преобразования, основание системы счисления (от 2 до 36 или 0 для автоматического определения) и разрядность результата (от 0 до 64). Если преобразование невозможно, функция возвращает ошибку.

Синтаксис

gostrconv.ParseInt(s, base, bitSize)

Пример

Давайте преобразуем строку "12345" в десятичное число типа int64:

gopackage main

import (
  "fmt"
  "strconv"
)

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

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

go12345

Пример

Давайте преобразуем строку "1010" в двоичное число:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res, err := strconv.ParseInt("1010", 2, 64)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(res)
}

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

go10

Пример

Давайте попробуем преобразовать строку, которая не является числом, и обработаем ошибку:

gopackage main

import (
  "fmt"
  "strconv"
)

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

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

go"Error: strconv.ParseInt: parsing "abc": invalid syntax"

Пример

Давайте преобразуем строку "-42" с отрицательным числом и ограничим разрядность до 8 бит:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res, err := strconv.ParseInt("-42", 10, 8)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(res)
}

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

go-42

Пример

Давайте преобразуем строку "FF" в шестнадцатеричное число:

gopackage main

import (
  "fmt"
  "strconv"
)

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

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

go255

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

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