skillup

技術ブログ

go言語

go言語について(GOPATH、テスト、go.sum、go.mod、ライブラリ)

投稿日:2020年7月12日 更新日:

goを再び触ることになりそうで以前やったものを再履修しております。

https://skill-up-engineering.com/category/go言語/

まとまってないですが、色々とメモを。

GOPATH

ライブラリなどの読み込み場所になります。

ディフォルトだと~/goになっています。

dockerを使った場合などはアプリのルートディレクトリにlibsなどとして配置するのがいいかと思いますので。アプリと同じパスにした方が便利かと。(共有場所におかないとコンテナを破棄するたびに初期化されてしまうので。)

go mod

goのライブラリ管理ツールになります。1.11から使えるようです。

PHPでいうところのcomposer.jsonのような役割かと思います。

Go言語の依存モジュール管理ツール Modules の使い方

ちなみにインストールしたライブラリの記録はgo.sumというファイルに記録されます。

テストコード

これがあるとないとで開発効率が全然変わってくるので、以前やった時にもう少し早く気づくべきでした。

メインのコードと同階層に作ります。

sample.goが実際のコードでこのテストコードは、

sample_test.goになります。

sample.go(テスト対象コード)

sample_test.go(テストコード)

あとはsample.goの階層までいき、

go test

で実行されます。

任意のコードのみ実行させたい場合は下記のようになります。

defer

return後に実行される関数を記述しておく仕組みです。

主に、dbのcloseなどでかかれ、他の言語でいうとfinallyに近い仕組みです。

GoのORマッパーを使ってみよう!

ライブラリ関連

ロギング

https://github.com/go-easylog/el

レベル分けができるのと、使い方が非常に簡単なのでおすすめです。

ORマッパー

http://gorm.io/ja_JP/

新しく作るならORマッパーですね。ドキュメントも揃っていてわかりやすいかと思います。

SQLドライバー

https://github.com/go-sql-driver/mysql

SQLを直に入力して、操作できます。簡単で使いやすいです。

サンプルコード

https://github.com/umanari145/golib

https://github.com/umanari145/golang_sample

-go言語
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

go言語について(基本的な特徴など)

実務でgo言語ってのをやってます。 私が当然やりたいといった訳ではないのですが、学ぶものが多く、大変やりがいがありますね。 特徴としては下記のような感じでしょうか。 マルチプラットホーム 今回選ばれた …

no image

go言語について(言語仕様 ライブラリ、文字列、パッケージ、コンパイルに関して)

go言語について気をつけるべきなど。 ライブラリ関連 ライブラリを入れるときはgo getコマンド。作業ディレクトリ要注意。任意のところではライブラリが機能しないです。GO PATHの理解が必要。 文 …

no image

go言語について(言語仕様 型あり、未定義エラー、基本データ、構造体、スコープ)

go言語を1ヶ月ほど勉強したので基本的な特徴などを書いて起きます。完全自分用。 ちなみにソースはこちら https://github.com/umanari145/golang_sample コンパイ …

アーカイブ