カテゴリ: Go言語 更新日: 2026/02/14

Go言語で外部APIと通信する時のエラーハンドリング例を完全ガイド!初心者でもわかる安全なAPI連携

Go言語で外部APIと通信する時のエラーハンドリング例
Go言語で外部APIと通信する時のエラーハンドリング例

先生と生徒の会話形式で理解しよう

生徒

「Go言語で天気やニュースの情報を取得することはできますか?」

先生

「できます。Go言語では外部APIと通信して、インターネット上のデータを受け取れます。」

生徒

「通信に失敗したらどうなるんですか?エラーが出ると難しそうです。」

先生

「そのためにエラーハンドリングがあります。失敗したときの対処を先に決めておく考え方です。」

1. Go言語と外部API通信の基本

1. Go言語と外部API通信の基本
1. Go言語と外部API通信の基本

Go言語は、インターネット通信が得意なプログラミング言語です。外部APIとは、他のサービスが用意してくれたデータの出入口のことです。自動販売機のボタンを押すと飲み物が出てくるように、決められた方法でアクセスすると情報が返ってきます。Go言語ではこの通信を標準機能で簡単に書けます。

2. エラーハンドリングとは何か

2. エラーハンドリングとは何か
2. エラーハンドリングとは何か

エラーハンドリングとは、うまくいかなかった場合の対応を考えることです。通信が失敗した、相手のサービスが止まっている、返ってきたデータが壊れているなど、現実では失敗はよく起こります。Go言語ではエラーという形で結果が返ってくるため、それを確認して安全に処理を進めます。

3. http.GetでAPIにアクセスする

3. http.GetでAPIにアクセスする
3. http.GetでAPIにアクセスする

Go言語で外部APIにアクセスするときは、http.Getを使います。これはインターネット上の住所にアクセスする命令です。郵便で手紙を送るようなイメージで考えると分かりやすいです。


resp, err := http.Get("https://example.com/api")
if err != nil {
    fmt.Println("通信に失敗しました")
    return
}
defer resp.Body.Close()

4. エラーを確認する基本パターン

4. エラーを確認する基本パターン
4. エラーを確認する基本パターン

Go言語では、処理の結果と一緒にエラーが返ってきます。エラーが空でなければ失敗したという意味です。信号機で赤信号を見たら止まるように、エラーがあれば先に進まないことが大切です。


if err != nil {
    fmt.Println("エラーが発生しました:", err)
    return
}

5. ステータスコードの確認

5. ステータスコードの確認
5. ステータスコードの確認

通信が成功しても、正しい結果とは限りません。ステータスコードは通信結果の番号で、成功や失敗を表します。200は成功、404は見つからないなど、番号で意味が決まっています。Go言語ではこの番号も確認できます。


if resp.StatusCode != 200 {
    fmt.Println("正常な応答ではありません")
    return
}

6. レスポンスの読み込みとエラー

6. レスポンスの読み込みとエラー
6. レスポンスの読み込みとエラー

APIから返ってきたデータを読むときも失敗する可能性があります。ファイルを読む途中で紙が破れるようなものです。そのため、読み込み時にもエラーハンドリングを行います。


body, err := io.ReadAll(resp.Body)
if err != nil {
    fmt.Println("データの読み込みに失敗しました")
    return
}
fmt.Println(string(body))

7. エラーハンドリングを行うメリット

7. エラーハンドリングを行うメリット
7. エラーハンドリングを行うメリット

エラーハンドリングを行うことで、プログラムが突然止まるのを防げます。初心者の方ほど、失敗を想定するのは難しく感じますが、最初から失敗しても安全に終わる仕組みを作ることが重要です。Go言語はエラーを明確に扱う設計なので、初心者でも安全なAPI連携ができます。

Go言語を基礎からスッキリ学びたい人や、 文法だけでなく「実用的な使い方」まで押さえたい人には、 定番の入門書がこちらです。

基礎からわかるGo言語をAmazonで見る

※ Amazon広告リンク

8. 初心者が意識したいポイント

8. 初心者が意識したいポイント
8. 初心者が意識したいポイント

外部APIとの通信では、必ずエラーを確認する習慣をつけましょう。通信、結果の確認、データの読み込み、それぞれで失敗する可能性があります。一つずつ確認することで、原因が分かりやすくなり、安心してGo言語でネットワーク処理が書けるようになります。

関連セミナーのご案内

【超入門】ゼロから始めるGo言語プログラミング:最速で「動くアプリ」を作るマンツーマン指導

「プログラミングの仕組み」が根本からわかる。Go言語でバックエンド開発の第一歩を。

本講座を受講することで、単なる文法の暗記ではなく、「プログラムがコンピュータの中でどう動いているか」という本質的な理解につながります。シンプルながら強力なGo言語(Golang)を通じて、現代のバックエンドエンジニアに求められる基礎体力を最短距離で身につけます。

具体的な開発内容と環境

【つくるもの】
ターミナル(黒い画面)上で動作する「対話型計算プログラム」や、データを整理して表示する「ミニ・ツール」をゼロから作成します。自分の書いたコードが形になる感動を体験してください。

【開発環境】
プロの現場でシェアNo.1のVisual Studio Code (VS Code)を使用します。インストールから日本語化、Go言語用の拡張機能設定まで、現場基準の環境を一緒に構築します。

この60分で得られる3つの理解

1. 環境構築の完全な理解

「なぜ動くのか」という設定の仕組みを理解し、今後の独学で詰まらない土台を作ります。

2. Go言語の基本構造(変数・型)

データの種類やメモリの概念など、他言語にも通じるプログラミングの本質を学びます。

3. 読みやすいコードの書き方

ただ動くだけでなく、誰が見ても分かりやすい「綺麗なコード」を書くための考え方を伝授します。

※本講座は、将来的にバックエンドエンジニアクラウドインフラに興味がある未経験者のためのエントリー講座です。マンツーマン形式により、あなたの理解度に合わせて進行します。

セミナー画像

初めてのGo言語を一緒に学びましょう!

カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinのアーキテクチャの進化をわかりやすく解説!MVIとCompose連携を初心者向けに理解する
New2
Swift
Swiftのnilとは?Optionalとの関係や初期化について初心者向けにやさしく解説!
New3
Swift
Swift文字列操作総まとめ|性能・安全性・多言語対応の指針
New4
Go言語
Go言語の配列の基本!定義・初期化・アクセス方法をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.2
Java&Spring記事人気No2
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.3
Java&Spring記事人気No3
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.4
Java&Spring記事人気No4
Kotlin
Kotlinのメモリプロファイリングツールの使い方を完全解説!初心者でも理解できるメモリ使用量の調べ方
No.5
Java&Spring記事人気No5
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.6
Java&Spring記事人気No6
Swift
Swift Xcode ArchiveとApp Store Connectへのアップロード完全ガイド!初心者でもわかる公開手順
No.7
Java&Spring記事人気No7
Swift
Swift入門ガイド|基本構文と書き方をマスターしよう
No.8
Java&Spring記事人気No8
Kotlin
KotlinでAndroidアプリ開発を始める!基本環境構築からHello Worldまで