ホームページ  >  記事  >  バックエンド開発  >  golang int キャスト

golang int キャスト

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

Golang では、整数型のデフォルトの型は int 型ですが、プログラム中では、int から他の整数型への変換、float 型の変換など、強制的に int を変換する必要がある場合があります。 int型などに変換して待ちます。この記事では、Golang における int 型の強制メソッドについて説明します。

  1. int を他の整数型に変換する

Golang では、int 型のデフォルトは 32 ビット (4 バイト) または 64 ビット (8 バイト) です。実行されているマシン アーキテクチャに応じて、それぞれ $-2^{31}$ から $2^{31}-1$ まで、および $-2^{63}$ から $2^{63}-1$ までです。 int 型を他の整数型 (int8、int16、int3、int64、uint8、uint16、uint32、uint64 など) に変換する必要がある場合は、型変換を通じて実装する必要があります。

具体的な方法は次のとおりです:

var a int = 100
var b int8 = int8(a)   // 将 int 类型转换为 int8 类型
var c int16 = int16(a) // 将 int 类型转换为 int16 类型
var d int32 = int32(a) // 将 int 类型转换为 int32 类型
var e int64 = int64(a) // 将 int 类型转换为 int64 类型
var f uint8 = uint8(a) // 将 int 类型转换为 uint8 类型
var g uint16 = uint16(a) // 将 int 类型转换为 uint16 类型
var h uint32 = uint32(a) // 将 int 类型转换为 uint32 类型
var i uint64 = uint64(a) // 将 int 类型转换为 uint64 类型

異なる型変換を行うと精度の低下やオーバーフローの問題が発生するため、特定のシナリオに応じて適切なデータ型を選択する必要があることに注意してください。 。

  1. float 型を int 型に変換する

Golang では、float 型は浮動小数点数を格納するために使用され、そのデフォルトの型は float64 です。 float 型を int 型に変換する必要がある場合は、Golang が提供する math パッケージの Round()、Floor()、または Ceil() メソッドを使用する必要があります。これらのメソッドは、float を四捨五入、切り捨て、または切り上げることができます。タイプ。

具体的な方法は次のとおりです。

import "math"

var a float64 = 123.56

var b int = int(math.Round(a)) // 四舍五入
var c int = int(math.Floor(a)) // 向下取整
var d int = int(math.Ceil(a))  // 向上取整

浮動小数点数を整数型に変換する場合、精度の低下やオーバーフローの問題が発生する可能性があることに注意してください。したがって、変換前にデータ型の選択と、変換プロセス中に発生する可能性のある異常について慎重に検討する必要があります。

  1. int 型を string 型に変換する

Golang で int 型を string 型に変換するには、strconv パッケージで提供されるitoa() メソッドを使用する必要があります。このメソッドは、整数型を対応する文字列型に変換できます。

具体的なメソッドは次のとおりです。

import "strconv"

var a int = 123

var b string = strconv.Itoa(a) // 将 int 类型的 a 转换为字符串类型

Itoa() メソッドは int 型を string 型に変換することしかできず、標準の整数形式しかサポートできないことに注意してください。他の形式の整数を文字列型に変換する必要がある場合は、Golang が提供する形式化された出力メソッドを使用する必要があります。

上記は Golang における int 型の強制変換方法ですが、状況に応じて適切なデータ型を選択し、変換処理中に発生する可能性のある異常事態に慎重に対処する必要があります。プログラムの動作が正しいかどうか。

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

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