ホームページ > バックエンド開発 > Golang > Go で 10 の累乗を定数としてコンパクトに定義するにはどうすればよいですか?

Go で 10 の累乗を定数としてコンパクトに定義するにはどうすればよいですか?

DDD
リリース: 2024-11-25 02:57:14
オリジナル
492 人が閲覧しました

How Can I Compactly Define Powers of 10 as Constants in Go?

Go で 10 の累乗をコンパクトな定数として記述する

Go プログラミング言語では、10 の累乗を定数として定義するのが一般的なタスクです。第 3 章で紹介された iota メカニズムは、定数の増加する値を生成する便利な方法を提供します。ただし、べき乗を処理できないため、制限があります。この記事では、Go でべき乗演算子を使用せずに 10 の累乗を定数として宣言するためのさまざまなコンパクトな方法について説明します。

浮動小数点リテラルの利用

簡潔な方法は、浮動小数点を使用することです。 -point リテラルと指数部。 1e3 を記述する方が、1000 を記述するよりも効率的です。例を次に示します (スペースなしの 67 文字):

const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
ログイン後にコピー

KB を乗数として使用する整数リテラル

型なし整数の場合定数の場合、KB に 1000 を使用し、後続の定数に次の値を乗算します。以下に示すように、KB (スペースなしの 77 文字):

const (KB,MB,GB,TB,PB,EB,ZB,YB = 1000,KB*KB,MB*KB,GB*KB,TB*GB,PB*KB,EB*KB,ZB*KB)
ログイン後にコピー

乗算器として追加の Const x を使用する

を導入することで、最後のメソッドをさらに最適化できます。ここに示すように、乗数として 1 文字の const x (なしの場合は 74 文字)スペース):

const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 1000,x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
ログイン後にコピー

ルーン リテラルの利用

最後に、ルーン リテラルを定数として使用できます。コード ポイント 1000 は、「x」より 1 文字少ないルーン「Ϩ」に対応します。以下に例を示します (スペースなしの 73 文字):

const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 'Ϩ',x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
ログイン後にコピー

これらのメソッドは、Go で 10 の累乗を定数として定義するコンパクトで効率的な方法を提供し、簡潔で読みやすいコードを可能にします。

以上がGo で 10 の累乗を定数としてコンパクトに定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート