Анализ чисел в Go

GolangGolangBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Цель этого лабораторного занятия - показать, как анализировать числа из строк в Go.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/AdvancedTopicsGroup(["Advanced Topics"]) go/AdvancedTopicsGroup -.-> go/number_parsing("Number Parsing") subgraph Lab Skills go/number_parsing -.-> lab-15492{{"Анализ чисел в Go"}} end

Анализ чисел

Анализ чисел из строк - это распространенная задача в многих программах. В этом лабораторном занятии требуется использовать встроенный пакет strconv для анализа различных типов чисел из строк.

  • Используйте пакет strconv для анализа чисел из строк.
  • Анализируйте вещественное число с использованием ParseFloat.
  • Анализируйте целое число с использованием ParseInt.
  • Анализируйте число в шестнадцатеричном формате с использованием ParseInt.
  • Анализируйте неотрицательное целое число с использованием ParseUint.
  • Анализируйте целое число в десятичной системе счисления с использованием Atoi.
  • Обрабатывайте ошибки, возвращаемые функциями анализа.
$ go run number-parsing.go
1.234
123
456
789
135
strconv.ParseInt: parsing "wat": invalid syntax

## Далее мы рассмотрим другую распространенную задачу анализа: URL-адреса.

Ниже представлен полный код:

// Анализ чисел из строк - это базовая, но распространенная задача
// в многих программах; вот, как это сделать в 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` - это удобная функция для базового анализа целых
	// чисел в десятичной системе счисления.
	k, _ := strconv.Atoi("135")
	fmt.Println(k)

	// Функции анализа возвращают ошибку при некорректном вводе.
	_, e := strconv.Atoi("wat")
	fmt.Println(e)
}

Резюме

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