Go言語のディレクトリ構成を考えてみる


はじめに

最近Go言語の勉強を始め、文法についてそこそこ理解したので、APIサーバーでも立ててみようと思い、ToDoリスト開発を始めたが、Railsしか触ったことがなく、ディレクトリ構成が壊滅的にわからなかったので泣きべそを書きながらもまとめてみる。

基本的なディレクトリ構成

・
├ cmd              //main.goはここに置く
├ db
│  └ init          //データベースの初期データを記述
├ pkg
│  ├ db            //データベースへの接続
│  └ dcontext      //データベースの操作
├ http
│  ├ middleware    //main.goを走らせる前に行いたいことはここに記述
│  └ response      //主にエラー処理を記述
└ server
   ├ handler       //railsでいうcontroller的なもの
   ├ model         //構造体定義したりhandlerで使うメソッド定義したりする
   └ server.go

Goの基本的なディレクトリ構成は上記のようになるらしい。

まとめ

Goはrailsのようにこれと言ったディレクトリ構成がないので、柔軟性が高いが、初心者にとってはそれが辛い。
同じような初心者の方の参考になれば幸いです。