2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AppEngineGo フォルダ構成

Last updated at Posted at 2018-06-11

#AppEngineGoにおけるフォルダ構成
こんにちは、少し前にAppEngineGoの環境構築のお話を書きました。
今回はGoの公式ドキュメントに従ってAppEngineGoにおけるフォルダ構成を考えてみようと思います。
フォルダ構成について述べられている日本語のドキュメントが少ないのでこれからAppEngineGoを始める方の参考になればと思います。
※今回もあくまで自分のメモ程度
##プロジェクトフォルダの作成場所
環境構築が終わり Hello,World アプリをデプロイすると次に行うのはプロジェクトフォルダの作成だと思います。
AppEngine...というよりGoにおけるプロジェクトフォルダの構成になりますが、公式に従うと以下のようになります。

$GOPATHが現在のカレント

terminal
$ tree
.
├── bin
├── pkg
└── src
    ├── github.com
    │    └── 製作者ハンドルネーム(制作チーム名など)
    │             └── アプリケーション名
    │                         ├──  app
    │                         │   ├── app.go
    │                         │   └── app.yaml
    │                         │
    │                         └── hoge
    │                  └── hoge.go
    │           
    ├── golang.org
    └── google.golang.org

AppEngineGoライブラリをgo getで取得まで完了するとGOPATH配下にはbin,pkg,srcが生成されていてsrcフォルダの中にgithub.comなどのフォルダがあると思います。
公式ドキュメントに従ってプロジェクトを作成するなら、このgithub.comフォルダの下に製作者のハンドルネームなどをつけたフォルダを作ります。
私であれば「ijn-penguin001」などですね。
さらにその下にアプリケーション名をつけたフォルダを作ります。
これがAppEngineGoにおけるプロジェクトフォルダです。
プロジェクトフォルダの下には各パッケージフォルダを作成します。
上の構成における「main.go」からローカルパッケージhogeの参照は以下のように書けます。

main.go
package main

import (
    "github.com/製作者名/アプリケーション名/hoge"
)

全部が正しいかと言われると私もまだ曖昧な点がありますが、github.comフォルダの配下に作っていくのはGo公式のドキュメントで説明されていますので正しいと思います。

##あとがき
まだまだ日本語ドキュメントが少ないGolang。
ましてAppEngineGoとなると検索して出てくる日本語の情報はそこまで多くないと思います。
この記事がこれからAppEngineGoを始める方の参考に少しでもなれば幸いです。

今回も自分のメモ程度ですが、間違っている点等ありましたらコメントなどで教えて頂ければと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?