reflect

同じシグネチャを持つ異なる関数たちのreflect.Typeのidentityについて

シグネチャが同じ関数のreflect.Typeが一致することに気づかずハマったりしていた1。 package main import ( "fmt" "reflect" ) type Foo string type Bar string type Alias = string func Hello(string) string { return "" } func Byebye(string) string …

goでreflectを使ってunexported fieldの値を見る

テストなどのhelperを作るときに、特定のstructのunexported fieldにアクセスしたくなることがある。 その方法のメモ(あとでまじめに書くかもしれない書かないかもしれない)。 with exported field その前にreflect経由でのアクセスで考えてみる。以下の様…

reflect経由でgoのmethodを呼んだり存在を確認したりする

encoding/jsonパッケージの範囲を越えてJSONと戯れようとする。動的な何かが必要になる。そしてけっこうすぐにreflectパッケージに触れることになる。触りたくないけれど触る必要がある汚泥のような存在。それがreflect。 重い腰をあげてreflectと少し仲良く…