Go

Golangでスクレイピング(Rubyの225倍速)

Go

Go速い。並行処理速い。 rubyの実装だと15分かかっていた処理が4.5秒へ。ヤバすぎるぜGo!! もう、本当にrubyは書きやすいシェルスクリプトぐらいの立ち位置で良いんじゃないかな。 テストデータ作る処理とかだけで。 他はPythonとかGoで書くと良いとおもいま…

Golang コードを書き始めた

Go

リファレンスを参照しながら少しずつ作りはじめてるスクレイピング系のプログラムを作ることにした。 とりま、main.goだけでいく。今のところ。structの分離とかはおいおいやっていけば良いかなと。 rubyで書いていたコードのgo移植なので細かいdomの確認と…

みんなのGo言語読んだ

Go

さらっと流してよんだ。実際にものをつくってから立ち帰ってベスト・プラクティスを知るためにもう一度読めば良い本だと思う。逆引きまでは行かないまでも良い網羅感あり。さぁ、プログラムを組もう。楽しもう。そろそろウズウズしてきてるよ。みんなのGo言…

Golang 金曜の夜はテストコード

Go

とりま仕事から帰って趣味の事した。 本を読んで、ギターを弾いてコード書かなきゃね。 草生やさないと。 GOPATH内にgoglandのプロジェクト持ってきた ~/path/to/go/src/gogland/project とようになるようにした テスト @foo.go package foo func IsOne(n in…

Golang エラー発生させ

Go

package main import( f "fmt" ) type MyError struct { Message string ErrCode int } func (e *MyError) Error() string { return e.Message } func RaiseError() error { return &MyError{"深刻なエラーが発生しました", 1234} } func main() { err := Ra…

Golang チャンネルの構え(最初の一歩)

Go

チャンネル package main import f "fmt" func receiver(ch chan int) { for { i := <-ch f.Println(i) } } func main() { ch := make(chan int) go receiver(ch) i := 0 for i < 10 { ch <- i i++ } } このコードはエディタの助けがない状態で書いた。

配列の構え、mapの構え

Go

スターティングGo言語の読み直しをしている。あたらしいパラダイムを学ぶのはやっぱり楽しいね! 配列の構え とりま初期化できてappendできて回せたらなんとかなるでしょ(経験) //配列の 構えは n := 10 s := make([]int, n) // 拡張 x := 11 s = append(s, …

スターティングGo言語が良い

Go

Go言語学ぶならA tour of Goより初めからスターティングGo言語買うと良い。とても良い。 付随的な知識でGoは「スーバーC」なので私はC言語で仕事をしたことが無いのもあるけれど、桁数とか桁あふれとか丸めとか補数とか体感できるし、そういう解説もある。Ja…

A Tour of Go むずい 2017/05/10

Go

むずいわー。 Goつかいこなしたいわー

A Tour of Go むずい

Go

むずい。辛くなってきた。 並行実装をを早くやりたい。

A Tour of Go "moretypes/26"

Go

フィボナッチ実装に5分位かかってもう廃業しようかもと思った。 package main import "fmt" // fibonacci is a function that returns // a function that returns an int. func fibonacci() func() int { n := -1 fn := 0 fnP1 := 1 fnP2 := 0 return func(…

A Tour of Go "moretypes/23"

Go

package main import ( "fmt" "golang.org/x/tour/wc" "strings" ) func WordCount(s string) map[string]int { fmt.Println(strings.Fields(s)) var m = map[string]int{} for _, v := range strings.Split(s, " ") { _, exist := m[v] if exist { m[v] += …