Go Modules時代のimport
最近ちょこちょこGolangを勉強していて、1.13になってデフォルトONになるgo modulesを使った時にimportをどうやるのかわからなくて困ったのでメモ
tl;dr
go.mod
のmodule
項目とwikiを見て
gopath mode
go modulesじゃない時はGOPATHがあったのでimport
の時は$GOPATH/src
が見えないけどついてるイメージでプロジェクトがgithub.com/yuzu441/nogi
なのであれば
import "github.com/yuzu441/nogi/package"
と書けば指定したパッケージがimportできる
module-aware mode
go modulesを使う設定にするとGOPATHがないのでパッケージ名の指定をどうするのかがわからなかったが、githubのwikiを見ていると答えが書いてあった
go modules環境ではgo.mod
というファイルがあって
これを生成するのにgo mod init
というコマンドを使うんだけど、これの後ろにgithub.com/yuzu441/nogi
のように指定してやる
go mod init github.com/yuzu441/nogi
するとgo.mod
ファイルの先頭にmodule github.com/yuzu441/nogi
のように記述されgopathモードの時と同じようにパッケージを参照できる
なので以下のように実行すると
go mod init yuzu441/nogi
yuzu441/nogi
でアクセスできる
import "yuzu441/nogi/package"
のように参照することができる
サンプルコード
go mod init yuzu441/sample
でgo.mod
を生成したという仮定でのサンプル
// service/calc.go package service func Add(x int, y int) int { return x + y } // main.go package main import ( "strconv" "yuzu441/sample/service" ) func main() { result := service.Add(1, 2) println("add result: " + strconv.Itoa(result)) }
echoのバナー表示を消す
golangのwebフレームワークのechoで実行時に表示されるバナー(ロゴみたいなEcho文字列)がGoogleAppEngineのログ表示を見づらくしてしまっていたので、それの表示を止める
要するに↓のこれを表示しないようにします
____ __ / __/___/ / ___ / _// __/ _ \/ _ \ /___/\__/_//_/\___/ v4.1.5 High performance, minimalist Go web framework https://echo.labstack.com ____________________________________O/_______ O\ ⇨ http server started on [::]:8080
やり方
HideBanner
というオプションがあるのでそれにtrue
を設定すると表示されなくなる
package main import ( "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "net/http" "os" ) func main() { e := echo.New() // このオプションを設定する e.HideBanner = true e.Use(middleware.Logger()) e.Use(middleware.Recover()) e.GET("/", hello) port := os.Getenv("PORT") if port == "" { port = "8080" } e.Logger.Fatal(e.Start(":" + port)) } func hello(c echo.Context) error { return c.String(http.StatusOK, "Hello World") }
就職しました
完全に書くの忘れてて学校の後輩に「まだニートなんですか?」みたいに聞かれたので書いておく
退職エントリー書いてから早くも7ヶ月、お気づきの方もいらっしゃるかと思いますが就職しました
いつ就職したの
3月1日に初出社してました
ちなみに出社初日の様子です
https://twitter.com/yuzu_441/status/1101354590983745537
まぢもぅむり仕事しょ
— ゆず🍜 (@yuzu_441) 2019年3月1日
どこで何してるの?
大阪本町某所のスタートアップでWebエンジニアをすることになりました
会社としては採用コンサルで「エンジニアが足りない、もっとエンジニア欲しい…」というお客様を新卒採用をメインに採用のノウハウを提供して、採用のお手伝いする会社ですが、会社の制度設計を行ったり、自社サービスの開発や受託案件をやってる会社です。
自分がいるエンジニアチームは人数が少ないので基本的に必要になったら全部見て、技術選定も自分たちでするという楽しい職場で働いていて、就活の経験から採用コンサル等を行っているチームが採用に関して関西トップレベルだと思ってる*1ので、知らない事などを知れてとても楽しいです。
今後
自社だったり、受託だったりをこなしながら、やっぱりチームに関心があるので前職だと発言権がなかった”どうやったらいい組織が作れるのか”みたいな分野をもっと考えていきたいと思っている。
あとは割とあれな新卒研修を見て、これくらいだったらうちで研修業とかできるんじゃないの?とか思ったのでやってみたさが出てきてる。
cm
最後に「うち採用うまく行ってないんですよ」という企業様がいらっしゃいましたらTwitterのDMか何かで連絡を頂ければ、解決をお手伝いできるかもしれませんのでよろしくお願いします
*1:関西でしか就活してない