Golang
Code package main import ( "fmt" "errors" ) func main() { fmt.Println("---- main start ----") var err error defer func() { fmt.Println("---- main defer start ----") if err != nil { fmt.Println("--> err in main defer") fmt.Println(err) } fm…
// Match image file path r := regexp.MustCompile(`\!\[.+?\]\(([^\s\)]+).*\)`) match := r.FindAllStringSubmatch(content, -1) // Image Tag Pattern // ![foo](/image/hoge/fuga.jpg) // ![foo](/image/hoge/fuga.jpg "画像タイトル") // [![foo](/ima…
GormでPreloadの中でorder by 呼びたくなった場合、以下のような書き方(Preloadの中に記述)をすると、 Preloadの中身をよしなにorder byしてくれる。 Preloadの条件式(where)との併用も可能。 err := tx. Limit(limit). Offset(offset). Where("status = ?…
GormのSQLでPreloadを利用する場合、各モデルと紐付けるタイミングで条件を指定したくなる場合がある。 Preloadに条件指定する場合に、上手く実行されるケースとされないケースがある。 こちらは正しくすべてのテーブルでstatusが指定される。 func (questio…
ginでcontextからHeader情報を取得したいときは key := c.Request.Header.Get("key") こんな感じで取得可能。 以上
logrusを利用していて、ファイル名(filename)や行数(line number)を出力したくなったときは、 SetReportCaller(true) という感じのメソッドを呼んでやればよい package main import ( log "github.com/sirupsen/logrus" ) func main() { log.SetReportCaller…
ここらへんでサクッと見れる fmt.Printf("%+v\n", hogehoge) fmt.Printf("%#v", hogehoge)
phpやhack、go、ruby on rails等ちょくちょく触れる機会があるのですが、 Java出身者としては、eclipseで得たユーザー体験が忘れられず、 goの開発環境を真面目に作ってみることにしました。 各バージョンについて Mac : OSX(10.11.6 ElCapitan) Go : go1.8 …
バージョン一覧 gvm version Go Version Manager v1.0.22 installed at /Users/uedayuji/.gvm clang --version Apple LLVM version 7.3.0 (clang-703.0.31) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/C…
GopherのぬいぐるみはGoogle Storeで約10$で購入可能。 Go Gopher Squishable - Google Store