【GO】外部ファイルを含めた実行ファイルの作成

GOで画像やHTMLを扱う時にシングルバイナリ化することで簡単にリリースできるようにしたい。

以前スマホアプリ制作用にgo-assets-builderを使ってバイナリ化したことがありますが、他の方法も検討してみて使ってみます。

【GO】静的ファイルを含めた実行ファイル作成

続きを読む 【GO】外部ファイルを含めた実行ファイルの作成

【GO】ginを使ったWEBサービスの構成

golangパッケージ、ginを使ったWEBサービスのテストができたので実際にどう構築するか考えてみました。

思いついたときにサービス追加しやすいことを前提に構成する。

続きを読む 【GO】ginを使ったWEBサービスの構成

HTMLの他サービスでの表示設定

htmlhead内に適切なmetaタグを書くことで他SNSなどでの表示を指定できます。

ogpとtwitter cardについて確認したことのスクショ付き覚書きです。

続きを読む HTMLの他サービスでの表示設定

【GO】interface{}を引数にした汎用関数を作る

汎用的な関数を作りたいときにinterface{}型を引数にしてswitchで処理を書くことがあります。

忘れないうちに要点メモ。switchの以下の要素を使います。

  • Type switch:インターフェースの型分岐
  • Multiple cases:複数ケースの処理

続きを読む 【GO】interface{}を引数にした汎用関数を作る

【GO】ginのHTMLテンプレート機能

gin-gonic/ginのHTMLテンプレートの使い方が理解しにくい。

テンプレート本体はtext/templatehtml/templateを見ればいい気がしますが、一見してよくわからなかったので自分用メモ。

続きを読む 【GO】ginのHTMLテンプレート機能

【GO】WebServer覚書き

個人用途の情報収集の出力形式としてWebServerを使いたい。

標準、ルーティングパッケージ(mux)、WEBフレームワークパッケージ(gin)で簡単なサンプルを書いてみながら動作確認します。

続きを読む 【GO】WebServer覚書き

【GO】Modulesで相対パスのパッケージインポート

前回パッケージ管理どうしようかなと考えてModulesを使うことにしました。

以前と同じようにプロジェクト内のパッケージを相対パスで読み込もうとすると、cannot find module for pathエラーになりました。

 

wikiにありますが、モジュール名をルートにしてパスを書くようです。

今回はmicroにしていました。

./apigatewaymicro/apigatewayに変更します。

 

これで問題なくサブパッケージを読み込めました。

【GO】パッケージ管理

GOを触り始めてしばらくすると依存性が気になってきます。

go getはnode.jsでいうと全部npm install -gを使うような感覚がありました。

一人で環境を変えず使う分には問題ないですが、色々と管理を楽にしたいのでパッケージ管理について考えてみます。

※Windows10・Go1.12

続きを読む 【GO】パッケージ管理

【GO】go-kitを使ったマイクロサービス-インストール

時々ちょっとしたツールを書いていてマイクロサービスってどうなんだろと気になりました。最近ハマっているGOで試してみたい。

go-kitはGOでマイクロサービスを書くためのツールキットでIstioを除くと他パッケージの倍ほどのstarがついてます。

https://github.com/go-kit/kit

インストールでいきなり詰まったので今回はそこまでのメモ。

続きを読む 【GO】go-kitを使ったマイクロサービス-インストール

【GO】複数返値をグローバル変数に入れる

グローバル変数に入れたと思ったらローカル変数に入っていてランタイムエラーが起きることがあります。

グローバル変数の扱いと定義・代入の動作が妙に厳しくて多少工夫が必要だったので対策方法のメモ。

続きを読む 【GO】複数返値をグローバル変数に入れる