|
Парсинг чисел из строк — базовая, но распространённая
задача во многих программах; вот как это сделать в Go.
|
|
|
|

package main
|
|
Встроенный пакет strconv обеспечивает парсинг чисел.
|
import (
"fmt"
"strconv"
)
|
|
|
func main() {
|
|
В ParseFloat число 64 указывает, сколько бит точности
использовать при парсинге.
|
f, _ := strconv.ParseFloat("1.234", 64)
fmt.Println(f)
|
|
Для ParseInt 0 означает определить основание из строки.
64 требует, чтобы результат помещался в 64 бита.
|
i, _ := strconv.ParseInt("123", 0, 64)
fmt.Println(i)
|
|
ParseInt распознаёт числа в шестнадцатеричном формате.
|
d, _ := strconv.ParseInt("0x1c8", 0, 64)
fmt.Println(d)
|
|
Также доступен ParseUint.
|
u, _ := strconv.ParseUint("789", 0, 64)
fmt.Println(u)
|
|
Atoi — удобная функция для базового парсинга
десятичных int.
|
k, _ := strconv.Atoi("135")
fmt.Println(k)
|
|
Функции парсинга возвращают ошибку при некорректном вводе.
|
_, e := strconv.Atoi("wat")
fmt.Println(e)
}
|