Datastore/GO で datastore: flattening nested structs leads to a slice of slices: field xxx

以下のエラーが出た。 datastore: flattening nested structs leads to a slice of slices: field xxx Datastore は以下のように struct をネストすることができるが、 type A struct { B []B } type B struct { Name string } 以下のようにネストした struc…

Go で cannot assign to xxx のエラー

ググると色々情報があるが、 日本語の情報がないので書いておく。https://play.golang.org/p/atdCt2Mken ↑ これを実行すると「cannot assign to struct field users[0].Connected in map」のエラーが出る。結論から言うと map が問題らしい。go - Why do I g…

Go のブランク識別子を利用した import による pakcage への副作用

ORMを調べていると以下のような import を見かけた。 import _ "github.com/go-sql-driver/mysql" 調べてみると、 これはブランク識別子を利用した import で、 import 対象のパッケージを初期化するためのものらしい。つまり、 init() や package value と…

Go の init() が呼ばれる順番

結論から言うと、import される順番に依存する。以下のような main での import を例にすると、 first の init() が呼ばれた後に second の init() が呼ばれる。 package main import ( myapp/first //最初に呼ばれる myapp/second //次にこれが呼ばれる ) f…

struct に static method は必要か?

golang を触りたての頃、struct に static method を実装したいと思った。なぜかというと、 1つの package に function をずらーっと定義すると、 なんだか冗長な命名になってしまうから。 util.UserXxx() util.TeamXxx() util.EventXxx() package を切って…

struct に依存しない処理は function に切り出すのか、method に切り出すのか

以前少し考えて自己解決して終わったんだけど、 ちょっとしたきっかけがあったのでアウトプットしてみる。以下のような Person があって、 Hello(), Goodbye() には全く同じ「複雑な処理」がある場合・・・ type Person struct { name string } func (p *Per…

golang の WAF のオートリロード

https://github.com/codegangsta/gin ↑ この gin ってやつを使うと ソースコードの変更検知 + オートリロード が可能になる。 ちなみに、以下の WAF とは別物です。 https://github.com/gin-gonic/gin https://github.com/codegangsta/gin#supporting-gin-in…

vagrant の SSH auth method: password で Authentication failure

vagrant up したら Authentication failure で先に進まなくなった。 default: SSH username: root default: SSH auth method: password default: Warning: Remote connection disconnect. Retrying... default: Warning: Remote connection disconnect. Retr…

golang のメソッド名の Must について

https://golang.org/pkg/regexp/#MustCompile ↑ こんな感じで Must が付いているものがある。 Must が付いているものは error を返す代わりに panic を発生させる。で上記の MustCompile() の説明文の一部が以下。 It simplifies safe initialization of glo…

golang の embedding について思ったこと

この記事は Go (その2) Advent Calendar 2016 の20日目の記事です。どーもpospomeです。(´・ω・`) GAE/GO の環境でサーバサイドエンジニアとして働いています。twitter では 実装パターン, DDD, golang, GCP についてつぶやくことが多いです。 同じような分…