Number Parsing

Парсинг чисел (Number Parsing)|Number Parsing #

// Парсинг чисел из строк является распространенной задачей;
// Вот как это реализовать в 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)
}
$ go run number-parsing.go 
1.234
123
456
789
135
strconv.ParseInt: parsing "wat": invalid syntax

# Далее мы рассмотрим парсинг URL.