ホームページ  >  記事  >  バックエンド開発  >  golang の数値型変換

golang の数値型変換

WBOY
WBOYオリジナル
2023-05-13 10:45:09879ブラウズ

Golang は、複数のデータ型をサポートするプログラミング言語です。整数や浮動小数点数などの数値型にも同じことが当てはまります。プログラミングでは数値型を変換する必要がよくありますが、この記事ではGolangにおける数値型の変換操作を紹介します。

整数型変換

Golang では、整数はデフォルトで int 型になります。ある整数型を別の整数型に変換する必要がある場合は、型変換を使用できます。

たとえば、以下に示すように、int 型の変数 x を int64 型に変換できます。

var x int = 1
var y int64
y = int64(x)
fmt.Println(y)

もちろん、以下に示すように、他の整数型も int 型に変換できます。 :

var z uint32 = 10
var w int
w = int(z)
fmt.Println(w)

整数型の変換では、精度の低下やオーバーフローなどの問題が発生する可能性があることに注意してください。したがって、型変換を行う場合は、型間の互換性やデータの範囲に注意してください。

浮動小数点型変換

Golang は、float32 と float64 の 2 つの浮動小数点型をサポートしています。型変換操作は、浮動小数点型を変換するときにも使用されます。

たとえば、以下に示すように、float32 型の変数 x を float64 型に変換できます。

var x float32 = 1.23
var y float64
y = float64(x)
fmt.Println(y)

逆に、以下に示すように、float64 型の変数を float32 型に変換することもできます。

var z float64 = 3.45
var w float32
w = float32(z)
fmt.Println(w)

同様に、浮動小数点数型を変換する場合は、型間の互換性とデータの精度にも注意する必要があります。

文字列型から数値型への変換

Golang では、文字列型と数値型の間の変換も一般的な操作です。たとえば、文字列型を int 型に変換するには、以下に示すように strconv.Atoi() 関数を使用できます。

import "strconv"
str := "123"
num, _ := strconv.Atoi(str)
fmt.Println(num)

同様に、以下に示すように、文字列型を int64 型に変換することもできます。 :

str := "123"
num, _ := strconv.ParseInt(str, 10, 64)
fmt.Println(num)

このうち、10 は 10 進数解析を使用することを意味し、64 は変換結果のビット数を意味します。

文字列型と数値型を変換する場合は、文字列で表現される内容が数値型に変換できることを確認してください。そうしないと、変換失敗が発生します。

数値型から文字列型への変換

文字列型を数値型に変換するのとは対照的に、数値型を文字列型に変換することも一般的な操作です。たとえば、int 型変数を string 型に変換するには、以下に示すように strconv.Itoa() 関数を使用できます。

import "strconv"
num := 123
str := strconv.Itoa(num)
fmt.Println(str)

同様に、int64 型変数を string 型に変換することもできます。

num := int64(123)
str := strconv.FormatInt(num, 10)
fmt.Println(str)

このうち、10 は 10 進数で出力することを意味します。

数値型と文字列型の間で変換する場合は、数値型の範囲が文字列型として表現できることを確認してください。そうしないと、変換の失敗や精度の低下が発生する可能性があります。

概要

この記事では、整数型の変換、浮動小数点型の変換、文字列から数値型への変換、数値型から文字列への変換など、Golang における数値型の変換操作を紹介します。型変換を実行するときは、型間の互換性とデータの範囲または精度に特別な注意を払う必要があります。

以上がgolang の数値型変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。