Преобразование строки в int64 в Golang: методы и примеры

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

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

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

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

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

Метод 3: использование функции fmt.Sscanf()
Пакет fmt в Golang предоставляет функцию Sscanf(), которую можно использовать для анализа строки на несколько значений. Мы можем использовать эту функцию для преобразования строки в int64. Вот пример:

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

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

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

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

Не забудьте выбрать метод, который лучше всего подходит для вашего конкретного случая использования. Приятного кодирования!