golang

#go #golang #gae 今さら人に聞けないGAE/GOでcollyを使う時の注意点

Google App EngineのGoでcollyを使ってHTTPリクエストをするプログラムを作ったのですが、
http.DefaultTransport and http.DefaultClient are not available in App Engine. See https://cloud.google.com/appengine/docs/go/urlfetch/
というエラーが発生しました。

ローカルで試した場合はうまくいったのに。

ちなみに、プログラムは下のような形です。

エラー内容を改めて確認してみると読んで字のごとくcollyがGoogle App Engineがサポートしていないメソッドを使ってしまったから発生。

なので回避する方法ってないのかなーっとドキュメントを眺めてみるとAppengineというメソッドを発見!

ひょっとしたら、ひょっとしたらと思い、再度、下のようにメソッドを追加してみました。

おそるおそる実行してみたらいけた!

やりました!

#go #golang 今さら人に聞けない日付(時刻)に日付(時刻)を加減する方法

タイトル通りになってしまうのだが、ある特定の日付ないし時刻に任意の日付または時刻を追加したり減らしたりする方法はあるのだろうか?

調査したところ、addメソッドを使えば実現できることがわかりました。

すごく簡単に実現できるので、これは便利!

#go #golang 今さら人に聞けない数値型を文字列型にする

数値型の変数を文字列型に変更するにはどうすればいいのだろうか?

具体的には下記のようにstrconv.Itoaメソッドを使えば実現できます。

素朴な疑問なんだけど、最後の「a」って何の略だろうか?

stringに変換するんだから「Itos」のような気がするんだけど。

asciiのaなのだろうか?

#go #golang 今さら人に聞けない日付の月をintにする

これは、これは!!!

こんなケースは初めてだ。

実は上のプログラムを実行すると数字の月が返ってくるのではなくて、なんと英語表記で返してきやがった。

そこで、純粋に、1月の場合なら1と返すようにするには、どうすればいいのか調べたところ、

という形で、intとしてキャストすればいいみたい。

ってか、JavaScriptもなぜか、-1されて月が返却されるんだけど、どうして、「1~12」って数字で返さないのだろうか?

なぞ過ぎる、この仕様。

#go #golang 今さら人に聞けない部分文字列の検索

JavaScriptのindexOfみたいに一部の文字列を含んでいるかどうか検索をかけてくれるメソッドないし関数ってあるのだろうか?

調べていたらあったので、試しに下のように組んでみました。

ずばり、Indexメソッドでした。

検索した結果、該当する文字がない場合は、-1を返すみたいです。

#go #golang 今さら人に聞けない日付の書式を整える方法について

go言語で日付をある特定のフォーマットないし、特定の書式にしたい場合はどうすればいいのだろうか?

調べた結果、下のように組めばフォーマットできるようだ。

とすると、
「2018年01月26日」
と表示してくれる。

なんて便利なんでしょう!

#go #golang 今さら人に聞けないバッククオートについて

sendgridのAPIを調査していたら

という形でバッククオートを使っているサンプルコードがあって、これって何なのかさらに調べてみました。

どうやら改行してもエラーが発生しない文字列で

上のようにコードを組んで実行するとhugaに設定した文字列がそのまま表示されます。

長い文字列を一気に設定したい時に便利かもしれません。