Преобразование строки в целое число — распространенная задача в программировании. В Go (Golang) существует несколько методов такого преобразования. В этой статье мы рассмотрим различные подходы с примерами кода, которые помогут вам легко преобразовать строки в целые числа в Golang.
Метод 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("Error:", err)
return
}
fmt.Println("Converted integer:", 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("Error:", err)
return
}
fmt.Println("Converted integer:", num)
}
Метод 3: использование альтернативы strconv.Atoi() — пользовательское преобразование
Если вы предпочитаете более индивидуальный подход, вы можете реализовать свою собственную функцию преобразования. Вот пример:
package main
import (
"fmt"
"strings"
)
func atoi(s string) (int, error) {
var num int
var sign int = 1
s = strings.TrimSpace(s)
if s == "" {
return 0, fmt.Errorf("empty string")
}
if s[0] == '+' {
s = s[1:]
} else if s[0] == '-' {
sign = -1
s = s[1:]
}
for _, ch := range s {
if ch < '0' || ch > '9' {
return 0, fmt.Errorf("invalid character: '%c'", ch)
}
num = num*10 + int(ch-'0')
}
return num * sign, nil
}
func main() {
str := "123"
num, err := atoi(str)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Converted integer:", num)
}
Преобразование строк в целые числа в Golang — фундаментальная задача, и пакет strconv предоставляет удобные функции, такие как Atoi() и ParseInt(), для упрощения процесса преобразования. Кроме того, вы можете создать свою собственную функцию преобразования, если вам требуется более специализированный подход. Понимая эти методы и примеры, вы сможете уверенно выполнять преобразования строк в целые числа в своих программах Go.