この記事は go 言語 のチュートリアルコラムで Go における Int の最大値を紹介する記事です。
概要:
import "math/bits"const ( MaxUint uint = (1 <p><strong>背景: </strong></p><p>ご存知かと思いますが、<code>uint</code> タイプ サイズは同じですプラットフォームに応じて、<code>uint32</code> または <code>uint64</code> として指定します。通常、サイズレス バージョンは、プラットフォームに依存する「ネイティブ」型を使用でき、高速になる傾向があるため、最大値に近づくリスクがない場合にのみ使用されます。 </p><p>「高速」なのは、非ネイティブ型を使用すると、より大きな整数またはより小さな整数をシミュレートするために、プロセッサが追加の計算と境界チェックを実行する必要があることに注意してください。したがって、プロセッサ (またはコンパイラの最適化されたコード) は、境界チェックを追加したコードよりもパフォーマンスが高くなります。 </p><p>そうは言っても、何を扱っているのかを知っておくと役立つ状況は依然としてあります。 </p><p>「math/bits」パッケージには、バイト単位の <code>uint</code> サイズ (翻訳者注: UintSize) が含まれています。最大値を決定するには、<code>1</code> を左に所定の桁シフトし、1 を減算します。つまり: <code>(1 </code></p><p><code>uint</code> の最大値を計算するときは、通常、それを明示的にする必要があることに注意してください。そうしないと、デフォルトでその計算を符号付き <code>int</code> に代入しようとするため、コンパイラは失敗する可能性があります (当然のことですが、そうではありません)。 fit)、つまり: <code><pre class="brush:php;toolbar:false">const MaxUint uint = (1これは質問に対する直接の答えですが、関連する計算に興味があるかもしれません。
仕様によれば、
uint と int
は常に同じサイズです。
##uintの最大値を決定することもできます。32 ビットまたは 64 ビット
##int
および uint
intは同じサイズ
であるため、この定数を使用して、同じ答えを取得して
2 で割ることにより、
から 1
を引きます。つまり、(1 <code>
と int
の最小値 (
-2 で割ります。つまり:
(1 <code> つまり: ** MaxUint: **
(1
** MaxInt: ** (1 <code>* * MinInt : ** (1 <code>完全な例 (以下の画像と同じである必要があります): package mainimport ( "fmt" "math" "math/bits" "runtime" "strconv")func main() { var mi32 int64 = math.MinInt32 var mi64 int64 = math.MinInt64 var i32 uint64 = math.MaxInt32 var ui32 uint64 = math.MaxUint32 var i64 uint64 = math.MaxInt64 var ui64 uint64 = math.MaxUint64 var ui uint64 = (1 <p>出力: </p> <pre class="brush:php;toolbar:false">MinInt32: -2147483648 MaxInt32: 2147483647MaxUint32: 4294967295 MinInt64: -9223372036854775808 MaxInt64: 9223372036854775807MaxUint64: 18446744073709551615 MaxUint: 18446744073709551615 MinInt: -9223372036854775808 MaxInt: 9223372036854775807MaxUint: 18446744073709551615MinInt: -9223372036854775808MaxInt: 9223372036854775807系统架构: gc amd64 darwin Int 大小: 64
元のアドレス: https://stackoverflow.com/questions/6878...
翻訳アドレス: https://learnku.com/go /t/62359
以上がGoのIntの最大値を分析した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Goでは、init関数はパッケージの初期化に使用されます。 1)init関数は、パッケージの初期化時に自動的に呼び出され、グローバル変数の初期化、接続の設定、構成ファイルの読み込みに適しています。 2)ファイルの順序で実行できる複数のinit関数がある場合があります。 3)それを使用する場合、実行順序、テストの難易度、パフォーマンスへの影響を考慮する必要があります。 4)副作用を減らし、依存関係の注入を使用し、初期化を遅延させることをお勧めします。

go'sselectStatementStreamLinesConcurrentProgrambyMultipLexIngoperations.1)Itallow swaitingonMultipleChanneloperations、実行、exectingThefirstreadyone.2)

コンテキストアンドウェイトグループは、フォーマネングに焦点を合わせており、contextAllowsingSignalingCancellationAndDeadlinesAcrossapiboundariesを採用し、GoroutinesscanSclacefly.2)WaitGroupssynchronizeGoroutines、Allcompletebebroproproproproproproprotinesを保証します

goisbenefineformicroservicesdueToitssimplicity、and androbustconcurrencysupport.1)go'sdesignemphasisisimplicityandeficiency、ityformicroservices.2)itscurrencymodelusinggoroutinesandchanlowsallowseaseaseadlinging handlingy.3)

GolangisidealforBuildingsCalables Systemsduetoitsefficiency andConcurrency、Whilepythonexcelsinquickscriptinganddataanalysisduetoitssimplicityand vastecosystem.golang'ssignencouragesclean、readisinediteNeditinesinedinediseNabletinedinedinedisedisedioncourase

Golangは並行性がCよりも優れていますが、Cは生の速度ではGolangよりも優れています。 1)Golangは、GoroutineとChannelを通じて効率的な並行性を達成します。これは、多数の同時タスクの処理に適しています。 2)Cコンパイラの最適化と標準ライブラリを介して、極端な最適化を必要とするアプリケーションに適したハードウェアに近い高性能を提供します。

Golangを選択する理由には、1)高い並行性パフォーマンス、2)静的タイプシステム、3)ガベージ収集メカニズム、4)豊富な標準ライブラリとエコシステムは、効率的で信頼できるソフトウェアを開発するための理想的な選択肢となります。

Golangは迅速な発展と同時シナリオに適しており、Cは極端なパフォーマンスと低レベルの制御が必要なシナリオに適しています。 1)Golangは、ごみ収集と並行機関のメカニズムを通じてパフォーマンスを向上させ、高配列Webサービス開発に適しています。 2)Cは、手動のメモリ管理とコンパイラの最適化を通じて究極のパフォーマンスを実現し、埋め込みシステム開発に適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









