ホームページ  >  記事  >  バックエンド開発  >  Go プログラミング言語の本にあるサーバー 2 の例は間違っていますか?

Go プログラミング言語の本にあるサーバー 2 の例は間違っていますか?

王林
王林転載
2024-02-05 23:06:08992ブラウズ

Go プログラミング言語の本にあるサーバー 2 の例は間違っていますか?

質問内容

「Go プログラミング言語の本」を読んでいます。第 1 章「サーバー 2 の例: 書籍コード」では、競合状態を防ぐためにミューテックスが使用されています。ただし、コードをコピーして実行してみましたが、結果は一貫していませんでした。例のコードは間違っていますか?

コードの使用方法は次のとおりです:

server.go

リーリー

main.go

リーリー

実行時: main.go を実行し、localhost:8000 と localhost:8000/count の 2 つのページにアクセスします。

    /count ページを更新するたびに、カウントが増加します。なぜ?
  1. / および /count ページを更新するたびに、表示されるカウントが一貫性なく増加しますか?更新回数に基づいたものではありません。なぜ?
/count ページではなく / ページにアクセスした場合にのみカウントが増加し、更新回数に基づいてカウントが増加すると予想していました。


正解


ブラウザで Web ページをテストするとき、ほとんどの場合、ブラウザは

http://localhost も送信するためです。 : 8000/favicon.icoリクエストを送信します。以下のスクリーンショットを参照してください:

/favicon.ico には専用のハンドラーがありません。/ と一致するため、server.handler によって処理されます。

このようなデモをテストするには、他のツールを使用することをお勧めします。たとえば、

カール: リーリー

以上がGo プログラミング言語の本にあるサーバー 2 の例は間違っていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。