A Tour of Go - 第1回 dwanGo

第1回 dwanGo - connpass 遠隔でチャットルームのみで参加していた.

A Tour of Go をもくもくやっていた. 最後まで終わらせることができなかったけど,途中問題が出てきて,そのときのコードが以下.

package main

import (
    "fmt"
    "math"
)

func Sqrt(x float64) float64 {
    z := 2.
    for i := 0; i < 10; i++ {
        z = z - (math.Pow(z, 2) - x) / (2 * z)
    }
    return z
}

func main() {
    fmt.Println(Sqrt(2))
    fmt.Println(math.Sqrt(2))
}
package main

import "code.google.com/p/go-tour/pic"

func Pic(dx, dy int) [][]uint8 {
    ret := make([][]uint8, dx)
    for i := range ret {
        ret[i] = make([]uint8, dy)
        for j := range ret[i] {
            ret[i][j] = uint8(i^j)
        }
    }
    return ret
}

func main() {
    pic.Show(Pic)
}
package main

import (
    "code.google.com/p/go-tour/wc"
    "strings"
)

func WordCount(s string) map[string]int {
    m := make(map[string]int)
    fields := strings.Fields(s)
    for _, field := range fields {
        m[field] += 1
    }
    return m
}

func main() {
    wc.Test(WordCount)
}