Преобразование строк в целые числа в Go: подробное руководство

Преобразование строки в целое число — распространенная задача в программировании, и Go предоставляет для этого несколько встроенных методов. В этой статье мы рассмотрим различные методы преобразования строки в целое число в Go, а также приведем примеры кода.

Метод 1: strconv.Atoi()
Пакет strconv в Go предоставляет функцию Atoi(), которая преобразует строку в целое число. Вот пример:

package main
import (
    "fmt"
    "strconv"
)
func main() {
    str := "123"
    num, err := strconv.Atoi(str)
    if err != nil {
        fmt.Println("Conversion error:", err)
        return
    }
    fmt.Println(num)
}

Метод 2: strconv.ParseInt()
Пакет strconv также предлагает функцию ParseInt(), которая позволяет указать базовый и битовый размер результирующего целого числа. Вот пример:

package main
import (
    "fmt"
    "strconv"
)
func main() {
    str := "123"
    num, err := strconv.ParseInt(str, 10, 64)
    if err != nil {
        fmt.Println("Conversion error:", err)
        return
    }
    fmt.Println(num)
}

Метод 3: использование альтернативы strconv.Atoi()
Если вам нужен более простой подход без обработки ошибок, вы можете использовать функцию Sscanf() пакета fmt:

package main
import (
    "fmt"
)
func main() {
    str := "123"
    var num int
    _, err := fmt.Sscanf(str, "%d", &num)
    if err != nil {
        fmt.Println("Conversion error:", err)
        return
    }
    fmt.Println(num)
}

Метод 4: использование альтернативы strconv.ParseInt()
Подобно предыдущему методу, пакет fmt также предоставляет удобный способ преобразования строк в целые числа с помощью функции Sscanf():

package main
import (
    "fmt"
)
func main() {
    str := "123"
    var num int64
    _, err := fmt.Sscanf(str, "%d", &num)
    if err != nil {
        fmt.Println("Conversion error:", err)
        return
    }
    fmt.Println(num)
}

В этой статье мы рассмотрели различные методы преобразования строки в целое число в Go. Мы рассмотрели функции Atoi() и ParseInt() пакета strconv, а также функцию Sscanf() пакета fmt. У каждого метода есть свои преимущества, поэтому выберите тот, который лучше всего подходит для вашего конкретного случая использования. Имея в своем наборе инструментов эти методы, вы сможете эффективно обрабатывать преобразования строк в целые числа в своих программах на Go.