Парсинг чисел из строк является распространенной задачей;
Вот как это реализовать в Go.
|
|
|
|
Для решения этой задачи подойдет встроенный пакет
strconv .
|
import (
"fmt"
"strconv"
)
|
|
|
С помощью 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)
}
|