昨日趣味でOSSの開発をやっていたら、非同期処理を実装する必要に迫られた
そのソフトはGoで書かれていて、正直僕はGoを書いたことがなかったので、四苦八苦しながらなんとか開発しているものだ
GOで非同期処理を書くのは初めてだったので、まためんどくさいことになったぞと内心思いながら、とりあえずCopilotに聞いてみるかと質問を投げかけてみたら、こんな答えが返ってきた
Go言語では、go
キーワードを使用してゴルーチン(軽量スレッド)を作成し、処理を非同期に実行することができます。以下に、その修正を適用したコードを示します。
なんと、既存のコードを go func
で囲うだけで非同期処理ができてしまうのだという
絶対に無理だよと思いながら言われるがままに囲ってみたら、なんと動いてしまった。
Go-routine の話はなんとなく聞いていたけれど、こんなに簡単だったとは驚き
再びGo言語に対する謎が深まってしまった