Go言語で数値を解析する

GolangGolangBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験の目的は、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 を使用して16進形式の数値を解析します。
  • ParseUint を使用して符号なし整数を解析します。
  • Atoi を使用して10進数の整数を解析します。
  • 解析関数が返すエラーを処理します。
$ 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` は16進形式の数値を認識します。
	d, _ := strconv.ParseInt("0x1c8", 0, 64)
	fmt.Println(d)

	// `ParseUint` も利用可能です。
	u, _ := strconv.ParseUint("789", 0, 64)
	fmt.Println(u)

	// `Atoi` は基本的な10進数の `int` 解析のための便利関数です。
	k, _ := strconv.Atoi("135")
	fmt.Println(k)

	// 解析関数は入力が不適切な場合にエラーを返します。
	_, e := strconv.Atoi("wat")
	fmt.Println(e)
}

まとめ

この実験では、strconv パッケージを使用してGo言語で文字列からさまざまな種類の数値を解析する方法を示しました。この実験を完了することで、Go言語のプログラムで数値の解析をどのように処理するかをより深く理解するはずです。