GAE/G初め
こんばんは!
今日は、こんな本(筆者ブログにつながります)買ったので勢いで今日終わらせた部分を少々おさらい的な感じで・・・
あれですね、最近はブログめっきり書かないのでプラグインを使うのが大変です(笑)
Go言語にはたくさん変数宣言の方法があってすごいです(笑)
とりあえずは列挙かな。。。
基本、まとめて、省略といれましたけど、全部やってること同じなんですよ(笑)
とりあえず一番の特徴は型を明示しなくても明らかな値であれば自動で識別してくれちゃうということです。
だから型の違うものをまとめて代入できちゃうわけですよね〜www
あと、Syntax Highright使うためにJavaScriptのやつでやってるので色ついてないんですけど、uint32っていう不思議な型名がありますよね?(あくまで一般論として)
実はこれ、uintの32bit型という意味で(大半の方の予想通り)Goの型名はほとんどこのような一般的な型名+bit数で構成されてるんです
わかりやすいですよね(^O^)まぁだから一般的な型名というのはintとfloatとstring,それにboolやuint(unsignedintですね),あとおまけでcomplexなんかもあります(複素数がデフォルトで扱えちゃうw)
なんていうんでしょうか、Googleらしいと言おうとすると難しい気はするけど怠慢な感じもしますよねw
ってかむしろこれをやる時間も2月まで極力さけて競技プログラミングのほうやんないといけないんですけど・・・まぁA3のためです。。。
おまけはGAE上でのGoの基本プログラム、Hello Worldです(^O^)
まずこれは書いてあったことですがFprintfはCのfprintfと同じと書いてあったのでwに"Hello World!"を反映しているのでしょうね。
で、ResponseWriterというのがおそらく型名から察するにそこに書くこと、でまぁこのプログラムではrは使われてないのでこっちはわかりませんが、GAE上ではinit()が最初に呼び出され、HandleFuncでアドレスの/にhandlerの実行結果、つまるところwを書き出す。。。とりあえず言葉はゴタゴタしてしまいましたがこんな認識でしょう。。。
まぁ、あとでわかることなのでこれはここらへんで
・・・というわけでした。ともかく努力にDemanger完成を目指してがんばります(^O^)
今日は、こんな本(筆者ブログにつながります)買ったので勢いで今日終わらせた部分を少々おさらい的な感じで・・・
あれですね、最近はブログめっきり書かないのでプラグインを使うのが大変です(笑)
とりあえず変数
はい。そういうわけでとりあえず変数Go言語にはたくさん変数宣言の方法があってすごいです(笑)
とりあえずは列挙かな。。。
変わってますよね〜
// 基本
var i int = 5
var j = 123.456
var k int
var integer, floating, str = 1, 2.0, "Hello"
var l uint32 = 2
// まとめて
var (
i int = 5
j = 123.456
k int
integer, floating, str = 1, 2.0, "Hello"
l uint32 = 2
)
// 省略
i := 5
j := 123.456
integer, floating, str = 1, 2.0, "Hello"
l := 2
基本、まとめて、省略といれましたけど、全部やってること同じなんですよ(笑)
とりあえず一番の特徴は型を明示しなくても明らかな値であれば自動で識別してくれちゃうということです。
だから型の違うものをまとめて代入できちゃうわけですよね〜www
あと、Syntax Highright使うためにJavaScriptのやつでやってるので色ついてないんですけど、uint32っていう不思議な型名がありますよね?(あくまで一般論として)
実はこれ、uintの32bit型という意味で(大半の方の予想通り)Goの型名はほとんどこのような一般的な型名+bit数で構成されてるんです
わかりやすいですよね(^O^)まぁだから一般的な型名というのはintとfloatとstring,それにboolやuint(unsignedintですね),あとおまけでcomplexなんかもあります(複素数がデフォルトで扱えちゃうw)
なんていうんでしょうか、Googleらしいと言おうとすると難しい気はするけど怠慢な感じもしますよねw
おまけ
はやくもおまけ。ゆっても今日はこの程度しかやってませんからね(^_^;)ってかむしろこれをやる時間も2月まで極力さけて競技プログラミングのほうやんないといけないんですけど・・・まぁA3のためです。。。
おまけはGAE上でのGoの基本プログラム、Hello Worldです(^O^)
まだこれの解説は読んでませんが、とりあえず今わかることからのいろいろな推測。
package helloworld
import (
"fmt"
"http"
)
func init() {
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello World!")
}
まずこれは書いてあったことですがFprintfはCのfprintfと同じと書いてあったのでwに"Hello World!"を反映しているのでしょうね。
で、ResponseWriterというのがおそらく型名から察するにそこに書くこと、でまぁこのプログラムではrは使われてないのでこっちはわかりませんが、GAE上ではinit()が最初に呼び出され、HandleFuncでアドレスの/にhandlerの実行結果、つまるところwを書き出す。。。とりあえず言葉はゴタゴタしてしまいましたがこんな認識でしょう。。。
まぁ、あとでわかることなのでこれはここらへんで
・・・というわけでした。ともかく努力にDemanger完成を目指してがんばります(^O^)