uzullaがブログスマートフォン用の表示で見るuzullaがブログuzullaがブログです。2014-02-13PHPerでも書けるgo言語golang超簡単なお仕事がはいってきたんですが、ちょっとした事だったのでGo言語で書く事にしました。なかったんですが、さすがのgo、ググラビリティが微妙であり、go言語入門にイケてる感じの記事がぱっとなかったのでメモ的な感じで残してみます。基本的にPHPer向けです。go言語のインストールMacだとBrewで一発ではいります。hello.gomain関数から始まる、というのがC言語っぽくてなつかしいですね。runをつかうとスクリプト言語と似た感じになるので、とても楽で良いです。github.com/nsf/gocodeみたいにして入れる事ができます。そのときに、GOPATHがないとおこられるので、設定します。これは自分のホームディレクトリ以下に適当に設定するとよいのではないでしょうか。私は~/.goを作成して、以下のように.bash_profileに書きました。エディタGo言語を良い感じにしてくれるエディタはなにがいいのかわからないんですけど、まあとりあえずvimは対応しています。http://mattn.kaoriya.net/software/vim/20130531000559.htmこちらを参考にして、vimの設定をしました。オートフォーマット便利ですね、echofmt.Print、またはfmt.Printlnをつかいます。Printlnは自動的に最後に改行いれてくれる、Perlでいうところのsayです。上のHelloworldをみてください。標準エラーSTDERRに出力したい場合には、Fprintlnをつかいます//fmtとosをimportしておく必要があります。string"で宣言ができます。「:=」は右辺の型からよしなに左辺の型をきめて宣言してくれる感じですね。連結は+演算子でできます。12単体でPrintlnに数値をいれるのは型キャストいりませんが、連結するならキャストが必要になります。25num,_ですが、これは返値が配列で返ってきて、第一引数には変換した数字、第二引数には成否が入ります。_を指定すると「捨てる」事になりますが、本来はここをみて「変換に成功できたか」をしらべる必要があります。}ベターCっぽいですね。コード量がモリモリ増える!ファイル読み込みfile_get_contentsみたいな感じでテキストファイルをロードするには以下のようなコードになります。読み込むだけだとbyteの配列で返されるので、それをstringに変換しています。stringsをimportしてください。string(byte_array[:])さらに、それを改行でくぎった配列にしたい、なんてときは以下のようになります。"\n")連想配列とforeachなどGo言語には連想配列的なものでMapとスライスがあるっぽいんですけど、まあ、Mapをつかいました。上のコードからのつづきで、各行をキー名として配列をつくるなら以下のようになります。}これはPHPでいえば以下のコードに相当します。valueとなります。return}これはmapにアクセスすると、配列で受け取る事ができて、取得できた値をすてつつ、成功したかのフラグを見ています。//...}全部forで書きます。}}書くの面倒ですけど、何個抜けるか数えなくて良いのは良いですね。文字列の配列の宣言こんな風に宣言できます。[...]の部分は配列の要素数を最初に指定せず、うしろの{〜}を数えてもらう感じです。自分で指定もできます。初期化は必須っぽいです。runつかえば(起動は一瞬かかるけど)LLみたいにかけるし、良いですね。LLになれてると、最初からある機能だけだと結構だるい(特にPHPerには)ので、なんかいいライブラリとかないのか感はあります。こちらからは以上です。サービスを追記しました。»プロフィールid:uzullauzullaがブログです。参加してきました!月別アーカイブ参加グループWindows開発者はてなブログをはじめよう!uzullaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。