Software Design 2019年2月号

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2019年1月29日最終更新)

特集1 第4章
(1)P.47 右段上から2行目

読み取り専用chan<-と書き込み専用<-chanが指定できます。
読み取り専用<-chanと書き込み専用chan<-が指定できます。

(2)P.47 リスト7 上から6行目


ch := make(<-chan string)


ch := make(chan string)

(3)P.48 リスト8


func sendHello(ch chan string) {
    for i := 0; i < 3; i++ {
        ch <- "Hello" //  送信
    }
    close(ch)
}
func main() {
    ch := make(chan string)
    go sendHello(ch)
    for msg := range ch {
        fmt.Println(msg)
    }
}


func sendHello(ch <-chan string) {
    for i := 0; i < 3; i++ {
        fmt.Println(<-ch)
    }
    close(ch) //ここでコンパイルエラーが起きる
}

func main() {
    ch := make(chan string)
    go sendHello(ch)
    ch <- "Hello"
    ch <- "Hello"
    ch <- "Hello"
}