Go言語でHTTP通信するには、組み込みパッケージ "net/http"を使えば良い。
下記では、ダミーAPIのjsonplaceholderを叩いている。
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
fmt.Println("hello Go言語!")
url := "https://jsonplaceholder.typicode.com/todos"
resp, _ := http.Get(url)
defer resp.Body.Close()
byteArray, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(byteArray))
}
実行してみる。
% go run ./sample/get-sample.go
{
"userId": 2,
"id": 37,
"title": "sunt cum tempora",
"completed": false
},
...
{
"userId": 2,
"id": 39,
"title": "doloremque quibusdam asperiores libero corrupti illum qui omnis",
"completed": false
},
GET通信できていることがわかる。
ローカルで動かすGoではデータ操作は全てAPIを経由するものとする。
別途レンタルサーバーにDBを構築し、PHP等でDBアクセスするようなAPIを構築しておく。
あとはローカルのGoプログラムからAPI群を通してやりたいことを実現すれば良い。