

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
go runとは何か?基本の仕組みを知ろう
Goの開発では、コードを実行する方法がいくつかあります。その中でも go run は特に便利で、初心者にも使いやすい機能です。go run は、ファイルをその場でコンパイルして実行する機能です。つまり、別にビルドしてから実行ファイルを作る手間を省くことができます。実行時には、Go のツールがソースコードを読み込み、依存しているパッケージを解決し、一時的な実行ファイルを作成してすぐに走らせます。ここでの「一時的」というのは、実行が終わるとそのファイルが残らない、もしくは後で削除される設計になっている場合が多いことを指します。
この仕組みは、開発中にコードをちょっと修正してすぐに結果を見たいときにとても役立ちます。
ただし、長い間同じビルド設定を使い続ける場合には、毎回コンパイルするコストが発生します。したがって、頻繁にコードを変更して試す場面では go run が最適です。
また、複数のファイルやパッケージを含む大きなプロジェクトでは、実行のたびにすべてを読み込んでコンパイルするため、若干時間がかかることがあります。
注意点としては、 go run は現在のディレクトリの main パッケージを実行することが多いという点です。複数のファイルで構成されたプログラムでは、 main パッケージが1つだけ存在する前提で動くことが多いため、他のパッケージにあるコードを直接実行することはできません。
このように、 go run は「すぐに動く」ことを最優先した実行方法であり、開発初期の試作や ちょっとした実験に向いています。
go runとgo buildの違いを理解する
go run はソースコードをその場でコンパイルして実行します。
一方、go build はソースをビルドして、実行可能なファイルをディスク上に作成します。
この違いは、同じコードでも実行時の挙動とストレージの使い方に影響します。
go run が一時的な実行ファイルを作るのに対して、go build は永続的な実行ファイルを作る点が大きな違いです。
また、go run は小さな変更をすぐ試せますが、何度も同じビルドを繰り返すと時間がかかることがあります。
実務では、開発中は go run で試し、安定したコードができたら go build で実行ファイルを作って再現性を高めるのが基本的な使い分けです。
さらに、CI や配布を前提にする場合は go build の成果物を配布する形が一般的です。
実践的な使い分けのコツと注意点
日常のGo開発では、状況に応じて使い分けるのがコツです。
新しいアイデアを試すときは go run で即座に結果を確認しましょう。
コードが安定してきたら go build を使ってビルドファイルを作り、動作確認を繰り返すのが効率的です。
また、ディレクトリ構成やモジュール設定によっては go run で複数ファイルを正しく扱えない場合があります。その場合は主役を main パッケージに絞り、ビルドの安定性を優先します。
実務では CI で go build を走らせ、テストと組み合わせて信頼性を高める運用が一般的です。
このような使い分けを意識するだけで、開発の速度と品質の両方を保つことができます。
友だちとプログラミングの話をしていて、go run がいまいち分からない、という人が多いと感じました。日常の開発では go run の便利さに頼りがちですが、実は裏側には“コンパイルと実行を同時進行で行う仕組み”があるんです。例えば短いスニペットを試すとき、すぐに結果を返してくれるのは魅力的。でも長い規模のプロジェクトでは、毎回全体をコンパイルすると時間がかかることも。だからこそ、 go run を“実験用の道具”として上手に使い分け、長期的には go build やテストを組み合わせた運用を心がけるのが大切だと思います。