php Xiaobian Banana では、Golang でステップ シーケンスを定義する方法を紹介します。ソフトウェア開発では、多くの場合、一連の操作やタスクを特定の順序で実行する必要があります。 Golang は、一連のステップを定義して実行するための簡潔かつ効率的な方法を提供します。ゴルーチンとチャネルを使用すると、複数のステップを同時に実行し、指定された順序で実行されるようにすることができます。この記事では、一連のステップを定義する方法を検討し、コード例を使用してその使用法を示します。 Golang の初心者でも経験豊富な開発者でも、この記事は貴重な情報と実用的なヒントを提供します。見てみましょう!
プロトコルテストを書きたいと思っています。私の現在のアイデアは、一連のステップを定義することです。各ステップには、trigger
と expectation
が含まれています。たとえば、msga
をトリガーし、msgb
を期待します。
これの気に入らない点は、series
が不明瞭であることです。スライスを順番に作成し、それが台無しにならないことを祈り、それに依存するか、sort# に依存する必要があります。 ## これには実装ソート関数が含まれていますが、これは完全に不要です。
シリーズを正式に定義し、このように明示的にするのはどのような設計がよいでしょうか?
int インデックスを持つマップを作成することです:
リーリー
go は (私の知る限り) 実装されていません。このために自分で構築しなければならないのは奇妙に感じました。ただし、このようなソリューションでは明示的な機能もわずかに失われます。基本的に、シーケンス全体 (たとえば、「ステップ 4 は何ですか」) を取得するには、常にリンクされたリストを参照する必要があります。
キーイング 複合テキスト:を使用したりすることもできます。 リーリー
仕様: 複合テキスト には詳細な指示があります: リーリー
ご覧のとおり、keyedelement にはオプションの
key ":" 部分が含まれる場合があります。
キーは、構造リテラルのフィールド名 、配列リテラルおよびスライス リテラルのインデックス 、およびマップ リテラルのキーとして解釈されます。 キー付き要素と「キーなし」要素を混在させることができ、連続している必要はないことに注意してください。また、スライス リテラルにキーが欠落している場合、インデックスは前のインデックス 1 になります。
リーリー上記の出力 (
go playgroundで試してください): リーリー それらのキーは「順序が狂っている」可能性もあります。これは、これも有効であることを意味します:
リーリーこの出力は同じです。
go playground以上がgolang: ステップのシーケンスを定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。