関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
- 2. 自己紹介
• プロフィールは適当にWindows GitとかVisual Studio Gitで検索してく
ださい。トップに出てきません。
• 富士山の方から来ました。
• オブジェクト指向スキーなSEです。
• 純粋関数型なんてわかりませんと思っていたら、純粋関数型の人も
あんまりわかってなかったみたいな感じで何なんだったんだこの一ヶ
月みたいな感じです。ま、傍観者ですが。
• ま、あと、オブジェクト指向も流派が分かれるので一緒にするな。
- 8. Go言語の特徴
• 手続き型の高級言語
• ロブ・パイク、ケン・トンプソンが開発に関わっている
• ALGOL, Pascal, Cのような構文
• コンパイル言語
• クロスコンパイルが得意(Linux/Darwin(Mac)/BSD/Solaris/Windows/Plan 9)
• 実行動作ランタイムなどない!
• メモリ管理はGCに一任
• 連想配列を持つ
• 型の継承、ジェネリックプログラミング、アサーション、オーバーロードと
いった機能は無いが、インターフェイスによるポリモーフィズムはある(そ
れなんてVB)
• 並行動作の支援機能
- 11. ;以外もC/C#/Java違うところが多いよ
• 代入演算子が :=
• for, if にカッコを付けない
• 変数の型指定が変数の後
• var n int
• var err os.Error
• Asはいらない
• while / do whileが無い。ロブ・パイク大先生もforで十分だと。
• ポインタがある。
• C++プログラマ向けGo講座を見よ
- 14. はじめかた
• http://golang-jp.org/ から始めましょう
• ここのトップページのDownload Goをクリック
• Linux/BSD/OS X/WindowsはこれでOK
• リンク先ページ書きの注意書きを読みましょう
• Solarisの人はパッケージがあるはず
• チュートリアル
• A Tour of Goでひと通りの構文を学習できます。
• WEBで完結しているので何かをインストールする必要なし
• http://go-tour-jp.appspot.com/#1
- 16. 何に向いているか?
• Goole App Engine(GAE)でのアプリケーション展開
• WEBアプリケーション
• UNIXwayなコマンドラインツール、且つクロス環境で動作して欲しい場合
• クロスコンパイル機能が非常に優秀で、実行ファイルがあればライブラリのポート
とかも必要ない。Linux上でMac用、Windows用のバイナリも作成可
• 個人的におすすめ
• GUIはあんまり得意じゃない
Editor's Notes
- ロブ パイクはUNIX/Plan 9の開発者でプログラミング作法の共著者 もう一人はカーニハン。
ケン・トンプソンはUNIX、C言語の揮発者。
あと、お前らの大好きなUTF-8を作ったのがこの二人だ。