@Konboi memo

主に技術に関してつらつらと。

Go言語

みんなのGo言語を読んで

iPhone7の発表やRubyKaigiのことでTLが賑わう今日この頃、みなさんいかがお過ごしでしょうか。 自分は新型PS4が気になるところです。 さてみなさん、明日 9月9日は何の日でしょうか? そうですね!! みんなのGo言語 の発売日ですね!! みんなのGo言語[現場で使…

Golangでどんな json が返ってくるかわからない時に const で定義するまでじゃないんだけど、 interface だと呼び出しが面倒なのどうしたらいいんだろう問題

package main import ( "bytes" "encoding/json" "fmt" ) func main() { b := []byte(`{"foo": "bar", "hoge": {"fuga": "hoga"}}`) dec := json.NewDecoder(bytes.NewReader(b)) var jsonData interface{} dec.Decode(&jsonData) fmt.Println(jsonData) fmt…

Golangでjsonのレスポンスを入れ子にする

はじめに jsonのレスポンスだと { status: 200, results: { message: “ok” } } というようなレスポンスをよく見る。 それをGoでどうすればいいのか調べたのでそれのメモ。 jsonのレスポンスを入れ子にする type Ping struct { Status int `json:"status"` Resu…

Golangでredirectのテストをしようとしたら嵌った

はじめに post以外のメソッドでアクセスしてきた場合は `/‘へリダイレクトするURLに対してきちんとリダイレクトするかのテストを書こうとしたら嵌った 嵌った func TestRedirectHandler(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(redirect…

GolangでレスポンスにJSONで返す

はじめに railsとかだと render json: HASH とかでよしなにjson形式にして返してくれるんですが、 goだと結構嵌ったのでメモ。 今回はサンプルで /pingにアクセスすると { status: 200, result: “ok” } というjsonを返す例を作ってみたいと思います。 jsonで返…