Go言語で文字列と数値を変換する方法

Go言語で文字列と数値を変換する方法

Go言語で文字列と数値を変換する方法について説明します。

文字列から数値への変換

Go言語では、strconvパッケージを使用して文字列を数値に変換することができます。
代表的な関数には、Atoi(文字列を整数に変換する)や、ParseFloat(文字列を浮動小数点数に変換する)などがあります。

整数への変換

strconv.Atoi関数を使うと、文字列を整数に変換できます。
例えば、次のように使用します。

import (
  "fmt"
  "strconv"
)

func main() {
  str := "123"
  num, err := strconv.Atoi(str)
  if err != nil {
    fmt.Println("エラー:", err)
    return
  }
  fmt.Println("変換された整数:", num)
}

このコードでは、文字列 "123" が整数 123 に変換されます。
変換が失敗した場合には、err にエラーが格納されるので、それをチェックすることが重要です。

浮動小数点数への変換

strconv.ParseFloat関数を使うと、文字列を浮動小数点数に変換できます。
例えば、次のように使用します。

import (
  "fmt"
  "strconv"
)

func main() {
  str := "123.456"
  num, err := strconv.ParseFloat(str, 64)
  if err != nil {
    fmt.Println("エラー:", err)
    return
  }
  fmt.Println("変換された浮動小数点数:", num)
}

ここでは、文字列 "123.456" が浮動小数点数 123.456 に変換されます。
第二引数の 64 は変換する浮動小数点数の精度を指定します。
32 を指定すれば float32 になります。

数値から文字列への変換

数値を文字列に変換する場合も、strconvパッケージを使います。
代表的な関数には、Itoa(整数を文字列に変換する)や、FormatFloat(浮動小数点数を文字列に変換する)があります。

整数から文字列への変換

strconv.Itoa関数を使うと、整数を文字列に変換できます。
例えば、次のように使用します。

import (
  "fmt"
  "strconv"
)

func main() {
  num := 123
  str := strconv.Itoa(num)
  fmt.Println("変換された文字列:", str)
}

このコードでは、整数 123 が文字列 "123" に変換されます。

浮動小数点数から文字列への変換

strconv.FormatFloat関数を使うと、浮動小数点数を文字列に変換できます。
例えば、次のように使用します。

import (
  "fmt"
  "strconv"
)

func main() {
  num := 123.456
  str := strconv.FormatFloat(num, 'f', 2, 64)
  fmt.Println("変換された文字列:", str)
}

ここでは、浮動小数点数 123.456 が文字列 "123.46" に変換されます。
第二引数はフォーマットを指定し、'f' は通常の浮動小数点数表現を意味します。
第三引数は小数点以下の桁数を指定します。
第四引数は精度を指定します。

エラーハンドリング

数値から文字列への変換にはエラーは発生しませんが、文字列から数値への変換にはエラーが発生する可能性があります。
変換に失敗した場合には、err をチェックしてエラーメッセージを表示することが重要です。

このように、Go言語ではstrconvパッケージを利用して、文字列と数値の間で簡単に変換を行うことができます。
エラーチェックを怠らずに適切な変換処理を行いましょう。