Tips for writing clear, performant, and idiomatic Go code
![- The Go Programming Language](https://cdn-ak-scissors.b.st-hatena.com/image/square/2d5005d814a9ae0d14cf1971b49ee397008fff11/height=288;version=1;width=512/https%3A%2F%2Fgo.dev%2Fdoc%2Fgopher%2Fgopherbelly300.jpg)
このまえScalaに挑戦したばかりですが、ちょうど先週の土曜日に、ロンドンのGoogleオフィスでGoogle Go(Golang)の一日コースを受ける機会がありました。非常に充実した内容だったので少し紹介します。 [写真提供は講師の@enneff さんより] 講義のpdfや回答コードはここで公開されています。 http://swtch.com/usenix http://swtch.com/usenix/go-course.pdf 「理論より実践」のコンセプトのもと、「講師による講義15分、実際に演習でプログラミングに60分」というサイクルのセッションを4回行いました。 Nuts and Bolts Interfaces Concurrency with Channels Networking with RPCs 演習の題材がこれでもかというぐらいてんこ盛りです。以下のサンプルはセッショ
I'm writing a book about Go. It is very much a work-in-progress, but I just wanted to mention this work and publish a snapshot. The aim is to explain Go and to provide many (many) exercises (and answers) so people may learn this wonderful language. It is written using (of course), see gitweb for the code. Help is appreciated. The pdf of today (aka daily build) can be found here. The title page lo
GoはGoogleが中心となってオープンソースで開発が進んでいるプログラミング言語です。いろいろなプログラミング言語の良いところを採り入れたGoは、様々な“顔”を持っています。Go言語の生まれた背景や特徴などについて、グーグルのソフトウェアエンジニアである鵜飼文敏氏にお話を伺いました。 Goが生まれた経緯や背景について教えてください。 Googleの中には検索エンジンや「Google App Engine」など、様々なサーバーがたくさんあるのですが、その中でスピードを要求する部分ではC++を使っています。ただ、C++は実行速度は速いのですが、ビルドに非常に時間がかかります。社内では分散コンパイル環境を作っていますが、仮に検索エンジンのサーバーを1台のマシンでビルドしようとすると、1日くらいの単位で時間を見ておかなければなりません。CPUなどが速くなっているのにコンパイルが遅いというのは何か
Programming Languages Google's Python Class This is a complete online introduction to Python programming, including writen materials, lecture videos, and coding exercises. The class is geared for people with a little bit of programming experience, and is used within google to introduce Python. Below are video-taped lectures from Google Video on various technology areas. These videos are great oppo
I sat down last night to learn go. I’ve been a fan of concurrency-oriented languages since I wrote my first erlang program in early 2004 (which I still use). I’ve been itching to give go a go since the announcement. The first thing I thought of that could naturally be modeled as a concurrent program was a memcached server. That has sort of become my “hello, world” as I have implemented the first p
http://golang.org/ golangという謎の言語があります。低レイヤーな静的システムプログラミング言語としてC/C++しか道具ねーのはしんどすぎんだろJKという発想の元つくられた言語じゃないかなと思っています。そういうの割と欲しいんだよなーと思っていたので脳味噌の体操。既にやってる人とかいくらでもいそうだなーと思いながら。 % 6g bf.go % 6l bf.6 % cat hello.bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++ ++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]> ++++++++[<++++>-]<+.[-]++++++++++. % ./6.ou
追記:「kzk's blog」の「Writing TokyoCabinet wrapper for Go language」で紹介御礼。この記事は cgo を使った TokyoCabinet のラッパーの書き方を解説しているので、下記のコードと組み合わせて本当に tc が backend になっている KVS を書いてみるのもよいかも。 『早速 Go 言語を試してみる!』とか。 『Go で無駄にチャンネルを使ってクイックソートのようなものを書いてみた』とか。 こちらはというと、試しに memcache バイナリプロトコルで通信する KVS もどきを書いた。 サーバのイベントループで go すれば全部済むのが楽ちんですね。 追記: HandleConn() の中で、backend_ch を backend との送信と受信両方に使っていたのだけど、ここにあるように、まったく誤りだということが分
はじめに Google から新プログラミング言語 The Go Programming Language が発表されましたね! というわけで、さっそく試してみたいと思います。 環境は Mac OS X 10.6 インストール さっそくインストール Getting Started - The Go Programming Language を見ながら 環境の準備 ディレクトリを作る amacbook% cd ~ amacbook% mkdir go amacbook% mkdir bin環境変数の設定をする。~/.zshrc に以下を追加 # Go 用 export GOROOT=$HOME/go export GOOS=darwin export GOARCH=amd64 export GOBIN=$HOME/bin export PATH=$GOBIN:$PATH Mercurial を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く