Функция strconv.Atoi

Функция strconv.Atoi преобразует строковое представление числа в значение типа int. В первый параметр функция принимает строку, содержащую числовое значение. Функция возвращает два значения: преобразованное число и ошибку. Если преобразование невозможно, функция возвращает ошибку типа *strconv.NumError.

Синтаксис

gonum, err := strconv.Atoi(str)

Пример

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

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  str := "12345"
  num, err := strconv.Atoi(str)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(num)
}

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

go12345

Пример

Давайте попробуем преобразовать строку, содержащую отрицательное число:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  str := "-9876"
  num, err := strconv.Atoi(str)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(num)
}

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

go-9876

Пример

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

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  str := "abc123"
  num, err := strconv.Atoi(str)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(num)
}

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

go"Error: strconv.Atoi: parsing \"abc123\": invalid syntax"

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

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