プログラミングでは、ユーザーがコマンド ライン インターフェイスを通じてプログラムの実行プロセスを操作できるようにする必要がある場合があります。この場合、プログラムはユーザー入力を受け取り、それに応じて処理できる必要があります。しかし、場合によっては、ユーザがプログラムの実行をキャンセルしたい場合もあり、その場合にはプログラムにコマンドをキャンセルする機能が必要となる。この記事では、Go言語を使ってこの機能を実装する方法を紹介します。
Go 言語では、コマンドライン入力を処理する main 関数は通常次のようになります:
func main() { // 处理命令行输入 // ... // 执行主程序流程 // ... }
コマンドのキャンセルをサポートするには、次のようなチャネル (チャネル) を導入する必要があります。メインプログラム処理で使用 受信キャンセル信号。キャンセル信号を受信したら、メインプログラムプロセスを終了し、関連リソースをリサイクルする必要があります。
まず、interrupt
というタイプの os.Signal
というチャネルを定義します。 os.Signal
は、オペレーティング システム レベルでプロセスにシグナルを送信するために使用されるシグナル タイプです。
var interrupt = make(chan os.Signal, 1)
次に、interrupt
チャネルをオペレーティング システム レベルの割り込み信号に関連付ける必要があります。このようにして、プログラムがオペレーティング システム レベルの割り込み信号 (Ctrl C など) を受信すると、interrupt
チャネルが対応する信号を受信します。
signal.Notify(interrupt, os.Interrupt)
上記のコードは、interrupt
チャネルを os.Interrupt
信号に関連付けます。これは、オペレーティング システムがプロセスに割り込み信号を送信すると、interrupt
チャネルが os.Interrupt
信号を受信することを意味します。
これで、メイン プログラム プロセスで interrupt
チャネルをリッスンできるようになりました。シグナルを受信した場合、ユーザーがプログラムの実行をキャンセルしたいことがわかります。この場合、リソースを再利用してプログラムを終了する必要があります。
select { case <p>上記のコードは、Go 言語の <code>select</code> メカニズムを使用し、<code>interrupt</code> チャネルを監視します。 <code>select</code> この仕組みの特徴は、いずれかの case ステートメントのみが実行されることです。 <code>interrupt</code> チャネルがシグナルを受信すると、<code>case が実行され、そうでない場合は、<code>default:</code> 分岐が実行され、メイン プログラム フローが実行されます。つづきます。 </code></p><p>コマンドをキャンセルする機能が追加されました。ユーザーは、プログラムの実行中に Ctrl C を押してプログラムに割り込み信号を送信することで、プログラムの実行をキャンセルできます。 </p><p>完全なコードは次のとおりです。 </p><pre class="brush:php;toolbar:false">package main import ( "fmt" "os" "os/signal" ) func main() { // 创建一个用于接收取消信号的通道 var interrupt = make(chan os.Signal, 1) // 将 interrupt 通道与操作系统的中断信号关联 signal.Notify(interrupt, os.Interrupt) // 执行主程序流程 for { select { case <p>このプログラムの実行中に、Ctrl C を押してプログラムに割り込み信号を送信し、プログラムの実行をキャンセルできます。 </p>
以上がgolangでコマンドキャンセル機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Goの「文字列」パッケージは、文字列操作を効率的かつシンプルにするための豊富な機能を提供します。 1)文字列を使用して()サブストリングを確認します。 2)Strings.split()を使用してデータを解析できますが、パフォーマンスの問題を回避するには注意して使用する必要があります。 3)文字列join()は文字列のフォーマットに適していますが、小さなデータセットの場合、ループ=はより効率的です。 4)大きな文字列の場合、文字列を使用して文字列を構築する方が効率的です。

GOは、文字列操作に「文字列」パッケージを使用します。 1)文字列を使用して、関数を調整して文字列をスプライスします。 2)文字列を使用して、コンテイン関数を使用してサブストリングを見つけます。 3)文字列を使用して、文字列を交換します。これらの機能は効率的で使いやすく、さまざまな文字列処理タスクに適しています。

byteSpackageIngoisESSENTINEFOREFFICTIENTBYTESLICEMANIPULATION、functionslikeContains、andReplaceforseding andmodyifiedbinarydata.itenhancesperformance andCodereadability、make dakeatavitaltoolfor forhandlingbingbinarydata、networkprotocols、andfilei

GOは、バイナリエンコードとデコードに「エンコード/バイナリ」パッケージを使用します。 1)このパッケージは、binary.writeとbinary.read関数を作成して、データを書き込み、読み取ります。 2)正しいエンディアン(BigendianやLittleendianなど)の選択に注意してください。 3)データのアラインメントとエラー処理も重要です。データの正確性とパフォーマンスを確保します。

Encoding/binaryPackageIngoiseffictevectiveforptimizingdueToitssuportforendiannessandannessandAhandling.toenhanceperformance:1)usebinary.native.nativedianfornatiannesstoavoidbyteswapping.2)batchedandandandwriteTerationtoredutei/ober

GOのBYTESパッケージは、主にバイトスライスを効率的に処理するために使用されます。 1)bytes.bufferを使用すると、弦のスプライシングを効率的に実行して、不必要なメモリの割り当てを避けます。 2)バイト機能を使用して、バイトスライスをすばやく比較します。 3)bytes.index、bytes.split、bytes.replaceall関数は、バイトスライスの検索と操作に使用できますが、パフォーマンスの問題に注意する必要があります。

バイトパッケージは、バイトスライスを効率的に処理するためのさまざまな機能を提供します。 1)bytes.containsを使用して、バイトシーケンスを確認します。 2)bytes.splitを使用してバイトスライスを分割します。 3)バイトシーケンスバイトを交換します。 4)bytes.joinを使用して、複数のバイトスライスを接続します。 5)bytes.bufferを使用してデータを作成します。 6)エラー処理とデータ検証のためのBYTES.MAPの組み合わせ。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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