タイプのアサーションとスイッチパフォーマンスは、プログラミング言語のgo
でのスイッチパフォーマンスであり、ランタイム中の変数またはオブジェクトのタイプを決定することは基本的な操作です。このプロセスを容易にするために、タイプアサーションとタイプスイッチを使用します。この記事では、これらの手法のパフォーマンス特性を掘り下げています。 GOプログラマーは、タイプアサーションまたはタイプスイッチが同様の非効率性を示すかどうかを熟考しています。これに対処するために、包括的なベンチマークを実行しましょう 輸入 ( 「FMT」 「テスト」 )) func question(Anything interface {}){ Switch V:= Anything。(タイプ){ ケース文字列: fmt.println(v) ケースINT32、INT64: fmt.println(v) ケースSomeCustomType: fmt.println(v) デフォルト: fmt.println( "不明") } }サンプルコードは、タイプスイッチを使用して、入力変数のタイプを決定します。 輸入 ( 「テスト」 )) Myint int64と入力します Inccerインターフェイスを入力{ inc() } func(i *myint)inc(){ *i = *i 1 } func benchmarkintmethod(b *testing.b){ i:= new(myint) incnintmethod(i、b.n) } func benchmarkinterface(b *testing.b){ i:= new(myint) incninterface(i、b.n) } func benchmarktypeswitch(b *testing.b){ i:= new(myint) incnswitch(i、b.n) } func benchmarktypeassertion(b *testing.b){ i:= new(myint) incnassertion(i、b.n) } func incnintmethod(i *myint、n int){ k:= 0; k
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3