go语言学习1.7

2014年准备学习一下go,毕竟是大牛ken tompson参与的项目,了解一下。

买了一本《go语言程序设计》,今天读了第一章,对1.7节的并发方式毕竟感兴趣

特点总结:

1.  大部分情况下无需显示锁

2. goroutine可以有很多

3.channel通道传递数据,代替了共享数据


运行了一下例程polar2cartesian,效果还不错,但是有个问题一直不能解决。

输入终止为ctrl+Z, 但反复测试都不能退出循环,只能用ctrl+C退出了


相关代码:

if runtime.GOOS == "windows" {
prompt = fmt.Sprintf(prompt, "Ctrl+z, Enter")
} else {
prompt = fmt.Sprintf(prompt, "Ctrl+D")
}

意思是windows操作系统就用ctrl+Z

        fmt.Printf("Radius and angle: ")
        line, err := reader.ReadString('\n')
        if err != nil {
            break
        }

这是退出循环的条件,实践证明不能成功退出


谁知道原因?


另外,go 1.2似乎很稳定,比两年前用的go好多了。呵呵,可继续学习之

猜你喜欢

转载自blog.csdn.net/hb_zxl/article/details/18772973