Goで実装したプログラムでオプションをコマンドライン引数から取るには標準の flag パッケージを使いますが、値を環境変数からも読みたいことがあります。(特に Docker で動かす場合) https://github.com/namsral/flag を使うと便利です。標準の flag を置き換える形で、import 1行で対応できます。 package main import ( "fmt" "github.com/namsral/flag" ) func main() { var age int var fooBar string flag.IntVar(&age, "age", 0, "age of gopher") flag.StringVar(&fooBar, "foo-bar", "hoge", "hoge") flag.Parse() fmt.Println("age:",
![Goでコマンドライン引数と環境変数の両方からflagを設定したい - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/f2dbb4c9e98fdb7a6c9fc360a5b81874bcf88a24/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9R28lRTMlODElQTclRTMlODIlQjMlRTMlODMlOUUlRTMlODMlQjMlRTMlODMlODklRTMlODMlQTklRTMlODIlQTQlRTMlODMlQjMlRTUlQkMlOTUlRTYlOTUlQjAlRTMlODElQTglRTclOTIlQjAlRTUlQTIlODMlRTUlQTQlODklRTYlOTUlQjAlRTMlODElQUUlRTQlQjglQTElRTYlOTYlQjklRTMlODElOEIlRTMlODIlODlmbGFnJUUzJTgyJTkyJUU4JUE4JUFEJUU1JUFFJTlBJUUzJTgxJTk3JUUzJTgxJTlGJUUzJTgxJTg0JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02MzliMGI4N2Q0YmY5ZTM0MzQ2MjNiOWZhMmE2MWU4OQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2Z1aml3YXJhJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03ODFkYzg0Y2U4MDUzOWQzM2VlMWNhOGRlNTM4OTJmNA%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D7b825847ac30fc8a0331f19fd059fe39)