Go の除算を理解する
浮動小数点除算を自動的に実行する他のプログラミング言語とは異なり、Go では除算のために浮動小数点への明示的な変換が必要です。操作。これにより、整数を操作するときに予期しない結果が生じる可能性があります。
次のコードを考えてみましょう:
fmt.Println(3 / 10)
これは、予期される 0.3 の代わりに 0 を出力します。その理由は、オペランド 3 と 10 が両方とも型なしの整定数であるためです。 Go 言語仕様によれば、バイナリ演算のオペランドがさまざまな種類の型なし定数である場合、演算と結果はリストの後ろにある型 (整数、ルーン、浮動小数点、複素数) を使用します。この場合、整数は浮動小数点の前に現れるため、結果は型なしの整数 (0) になります。
浮動小数点の結果を取得するには、オペランドの 1 つが浮動小数点定数である必要があります。次の点を考慮してください。
fmt.Println(3.0 / 10.0) fmt.Println(3.0 / 10) fmt.Println(3 / 10.0)
これらの式はすべて、型なし浮動小数点定数 0.3 として評価されます。いずれかのオペランドに .0 を追加すると、明示的に浮動小数点に変換され、浮動小数点の結果が得られます。
除算演算に型付きオペランドが含まれる場合、型付きオペランドの型によって演算結果が決まります。式のタイプ。 float64 の結果を保証するには、型付きオペランドを float64 にする必要があります。例:
var i3 = 3 var i10 = 10 fmt.Println(float64(i3) / 10) fmt.Println(3 / float64(i10))
これらの式は int 変数を float64 に変換し、float64 の結果は 0.3 になります。
10.0 や 3.0 のような数値リテラルは型なし浮動小数点数であることに注意することが重要です。 -float64 ではなくポイント定数。 i3 / 10.0 や 3.0 / i10 のような式は、型指定されたオペランド (i3 と i10) によって結果の型が決まるため、結果は整数 0 になります。
以上がGo は整数の除算をどのように処理しますか?また浮動小数点の結果を保証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

fatestinggocodewithinit functions、useexplicitsetupfunctionsurseSorseparatet fileStoavoidepencyonInitonitisideEffects.1)useexplicitsetupfuncontrollglobalbariaveInitialization.2)createSeparateSteSteSteStobypassInit funtedtententen

Go'serrorhandlingReturnserrorsasasvalues、javaandpython whichuseexceptions.1)go'smethodensuresexpliciterror handling

効果的なインターフェイスリングミニマル、クリア、およびプロモテスルーシューリング。1)インターフェイスForfforfibilityOfimplementation.2)interfacesforact forabstractiontoswapimplementations withingingcallingcode.3)設計の快適性を発信すること

集中型エラー処理は、GO言語でのコードの読みやすさと保守性を向上させることができます。その実装方法と利点には、次のものが含まれます。1。ビジネスロジックからロジックを個別に処理し、コードを簡素化します。 2。中央の取り扱いによるエラー処理の一貫性を確保します。 3. DeferとRecoverを使用してパニックをキャプチャおよび処理して、プログラムの堅牢性を高めます。

Ingo、AlternativestoinititionCustomInitializationAndSingletons.1)CustomInitializationAltionsionAlowoveroveroveroveroveroveroveroveroveroveroveroveroveroveroveroverover curs、beantefordedorcontionalsetups.2)singletonsensureone-initializatializatializatialent

gohandlesinterfacesandtypeassertionseffectivivivivivity、強化された柔軟性と耐毒性を強化します

言語エラー処理は、エラーとエラーを介してより柔軟になり、読みやすくなります。 1.エラーは、エラーが指定されたエラーと同じであり、エラーチェーンの処理に適しているかどうかを確認するために使用されます。 2.エラー。エラータイプを確認するだけでなく、エラーを特定のタイプに変換することもできます。これは、エラー情報を抽出するのに便利です。これらの関数を使用すると、エラー処理ロジックを簡素化できますが、エラーチェーンの正しい配信に注意を払い、コードの複雑さを防ぐために過度の依存性を回避できます。

tomakegogoapplicationsRunfasterAndMore -efficient、useprofilingtools、leverageconconcurrency、andmanagememoryefcectively.1)useprofforcpuandmemoryprofilingtoidentififybottlenecks.2)


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
