Golang完全初心者がチュートリアルを完了させればなにができるようになるか

15694ff24d0637f5299eb42fbe7f1d16?s=47 katryo
June 17, 2014

 Golang完全初心者がチュートリアルを完了させればなにができるようになるか

http://connpass.com/event/6579/ での発表資料です

15694ff24d0637f5299eb42fbe7f1d16?s=128

katryo

June 17, 2014
Tweet

Transcript

  1. 2.

    自己紹介 •  @katryo   •  新卒1年目   •  これまで作ったもの  

    –  h/p://denkinovel.com   •  Rails4製   •  言語   –  Ruby,  Python,  JavaScript  2年   •  ウェッブ開発が主目的です   –  C,  Java,  Obj-­‐C  ちょっとだけ   –  主にLL  
  2. 5.

    A  Tour  of  Go •  完全にはやってないです(´・_・`)     •  演習問題をしっかり解くのはちょっとしんどい

      •  書いてあることを読んで、RUNしただけで す…… じっくり時間をかけて   演習問題を解くと   いいことある気がする
  3. 6.
  4. 8.
  5. 9.

    作った感想 •  DRYにするやりかたがまだわからなくてつらい   –  現在、全部1ファイル   –  別packageにしてimportするというやりかたがよさそう  

    –  SQLiteからレコードを引き出すという、似た処理を同じ 関数にまとめる方法わからない   –  チュートリアルちゃんとやります(´・ω・`)   •  stringが使いやすい   –  charじゃなくてstringが基本   –  LL感覚で文字列を処理できる   •  UTF-­‐8前提なので、非la]n1語ではPythonより使いやすいか も  
  6. 11.

    メモリの気持ちが   ちょっとだけわかった •  Golangは変数にメモリ領域割り当て  =>  初期 化の手順が必要   • 

    MutableなArrayは   メモリ管理がめんどいことを把握   •  LLでは味わえないメモリとの触れ合い   •  でもGCはあるよ! やった!
  7. 12.

    Golangは学習コストが小さくてよい •  Pythonを意識した仕様の小ささ   –  len()関数とか、既知の語に寄せている   –  型を変数名の後に書くなど直感に従った  

    (かつ実用的な)書き方   •  No  クラス   •  No  オブジェクト指向   •  Structにメソッドは作れるけど、Rubyとかの、クラスを基本に したオブジェクト指向とは別物   •  public/private  は命名で管理(言語仕様)   –  大文字で始まる関数はpublic  
  8. 15.

    GOPATHの流儀 •  好きな場所に設定してよい   •  あんちぽ(kentarok)さん流   – GOPATH=$HOME   – h/p://blog.kentarok.org/entry/

    2014/06/03/135300   – ghqと組み合わせて使っている   – こわいので自分ではやれてないです   •  自分のやりかた   – GOPATH=~/repositories  
  9. 17.

    Java,  Cとくらべて •  学習コストがとても小さい   –  最大の利点   –  めんどうなことを書かなくていい

      •  public  sta]c  …   •  気軽に書いて、動かせる   –  スクリプト感覚でgo  runできる   •  LL使いが最初に学ぶ静的言語として最適だと思 う   –  まだこれから広まりそう   –  自分ではGoSublimeを使って書いたけど、IDEを使うと 恩恵にあずかれると思います  
  10. 18.