第1回大阪Go勉強会
書くのが遅くなりましたが、9/17に開催された大阪Go勉強会に参加させてもらいました。
資料はこちら
https://github.com/todoa2c/hango/blob/master/vol01.md
グランフロントがでかすぎて辿り着ける気がしなかったので最初から受付に場所を聞いていきました。
様子はこんな感じです。
第1回 大阪Go勉強会 - Togetter
事前にA Tour of Goをさらっと流してたんですが、いざハンズオンとなるとなかなか書けず。
5つ課題があったうち、最初の2つを不完全ながらできたかな、といった感じでした。
package main import ( "fmt" "strconv" ) func main() { l := make([]string, 100) for i, _ := range l { n := i + 1 switch { case n%15 == 0: l[i] = "FizzBuzz" case n%5 == 0: l[i] = "Buzz" case n%3 == 0: l[i] = "Fizz" default: l[i] = strconv.Itoa(n) } } for _, v := range l { fmt.Println(v) } }
wordcount。mapの値は0で初期化されるので、存在チェックしなくてもよさそう。
package main import ( "bufio" "fmt" "os" "strings" ) func main() { scanner := bufio.NewScanner(os.Stdin) m := make(map[string]int) for scanner.Scan() { text := scanner.Text() // TODO replace comma, period for _, word := range strings.Fields(text) { _, ok := m[word] if ok { m[word] += 1 } else { m[word] = 1 } } } // TODO sort for word, count := range m { fmt.Println(word, count) } }
Go言語に関してはgoroutine、select、channel辺りが使いこなせると面白そうでした。
懇親会もいろいろ話ができて楽しかったのでまた参加したいです。