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

Go で 10 の累乗をコンパクトに宣言するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-01 14:16:14
オリジナル
219 人が閲覧しました

How Can I Compactly Declare Powers of 10 in Go?

10 の累乗をコンパクトに書く

Go プログラミング言語の演習 3.13 では、KB、MB、up のコンパクトな定数宣言を書くようにプログラマーに課題を与えます。のべき乗を生成するための iota メカニズムの制限にもかかわらず、1000 の累乗を表します。

浮動小数点リテラル

スペース効率の良い解決策は、指数部を持つ浮動小数点リテラルを利用することです。たとえば、1e3 を記述すると、1000 よりもスペースが少なくなります。すべての識別子を 1 つの定数仕様に結合すると、等号の数がさらに減ります。以下に簡潔な宣言 (スペースなしの 67 文字) を示します。

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

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

型なしの整数定数を作成するには、KB に 1000 を書き込む必要があります。後続の値を取得するには、前の識別子に 1000 を掛けます。ただし、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)
ログイン後にコピー

乗算に追加の定数を使用する

追加の定数の導入1 文字の const x では、*KB を x に置き換えることでさらにスペースを節約できます。

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)
ログイン後にコピー

Rune Literal

コード ポイント 1000 の Rune リテラルを使用する('Ϩ') は、もう 1 文字必要なスペースを減らします:

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 の累乗をコンパクトに宣言するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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