Golang はオープンソースのプログラミング言語であり、その効率性、シンプルさ、セキュリティ、クロスプラットフォーム機能によりプログラマーの間でますます支持されています。他のプログラミング言語と比較して、Golang には強力で柔軟なライブラリとツールがあり、非常に使いやすいプログラミング言語です。
Golang では、基底変換は一般的な操作の 1 つです。開発者は、2 進数を 10 進数または 16 進数に変換するなど、数値をある基数から別の基数に変換する必要があることがよくあります。この記事では、Golang で基本変換クラス メソッドを実装する方法を検討します。
1. 10 進数を他の基数に変換する
- Binary
Golang では、fmt.Sprintf メソッドを使用して 10 進数を 2 進数に変換できます。たとえば、次のコードは数値 250 をバイナリ数値に変換します。
str := fmt.Sprintf("%b", 250)
ログイン後にコピー
"%b" は、数値がバイナリ文字列に変換されることを示すプレースホルダです。このメソッドによって返される「str」変数の値は「11111010」です。
- 8 進数
#10 進数から 8 進数への変換も非常に簡単です。 Golang では、これは「%o」プレースホルダーを使用して実現できます。たとえば、次のコードは数値 250 を 8 進数に変換します:
str := fmt.Sprintf("%o", 250)
ログイン後にコピー
このメソッドによって返される "str" 変数の値は "372" です。
HEX
10 進数を 16 進数に変換するのも簡単です。 Golang では、これは「%x」プレースホルダーを使用して実現できます。たとえば、次のコードは数値 250 を 16 進数に変換します。
str := fmt.Sprintf("%x", 250)
ログイン後にコピー
このメソッドによって返される "str" 変数の値は "fa" です。
2. 他の基数を 10 進数に変換する
2 進数 #2 進数を 10 進数に変換することも簡単です。 Golang では、これは strconv.ParseInt 関数を使用して実現できます。たとえば、次のコードはバイナリ文字列「11111010」を 10 進数に変換します:
num, err := strconv.ParseInt("11111010", 2, 64)
ログイン後にコピー
この関数の最初のパラメータは変換される文字列で、2 番目のパラメータは変換される数値です。 3 番目のパラメータは、返される結果のタイプを示します。
8 進数
- #8 進数を 10 進数に変換するのも非常に簡単です。 Golang では、これは strconv.ParseInt 関数を使用して実現できます。たとえば、次のコードは 8 進数の文字列「372」を 10 進数に変換します。
num, err := strconv.ParseInt("372", 8, 64)
ログイン後にコピー
この関数では、最初のパラメータは変換される文字列で、2 番目のパラメータは変換される数値です。 3 番目のパラメータは、返される結果のタイプを示します。
HEX
- 16 進数を 10 進数に変換するのも簡単です。 Golang では、これは strconv.ParseInt 関数を使用して実現できます。たとえば、次のコードは 16 進数の文字列「fa」を 10 進数に変換します。
num, err := strconv.ParseInt("fa", 16, 64)
ログイン後にコピー
この関数では、最初のパラメータは変換される文字列で、2 番目のパラメータは変換される文字列です。変換ベースである 3 番目のパラメーターは、返された結果のタイプを示します。 3. 概要Golang では、基底変換は非常に一般的な操作です。 fmt.Sprintf 関数と strconv.ParseInt 関数を使用して、これらの変換を実装できます。 10 進数を他の基数に変換する場合は、プレースホルダー "%b"、"%o"、および "%x" を使用できます。他の基数を 10 進数に変換する場合は、対応する基数と変換する文字を追加するだけです。文字列を strconv.ParseInt 関数に渡すだけです。これらのメソッドを使用すると、サポートされていないベースに対してエラー例外がスローされる可能性があることに注意してください。 16 進数の変換は簡単そうに見えますが、実際のアプリケーションでは予期しないエラーが発生する可能性があります。したがって、Golang コードを作成するときは、常に注意してコードを最大限にテストすることをお勧めします。 以上がgolang の基本変換クラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。