Skip to content

书籍阅读

字数
293 字
阅读时间
2 分钟

1. 《The Go Programming Language》

作者:Alan A. A. Donovan, Brian W. Kernighan 中文版:《《Go语言圣经》

前言介绍了 Go 这一编程语言的演化溯源,Go 项目遵循简洁的原则和现代化设计。接着用实例来帮助入门。然后大概4个章节介绍 Go 语法、数据结构等基本特性。再两个章节介绍方法和接口。然后是并发编程、包的组织、单元测试、反射这些更高阶的特性。

已经熟悉 Go 的话,预计4h可以略读完。

部分实例内容:

1. 使用 bufio 和 io/ioutil 读取文件

从标准输入中读取内容

go
counts := make(map[string]int)
input := bufio.NewScanner(os.Stdin)

os.Open 打开文件,后面用 bufio.NewScanner 读取

go
files := os.Args[1:]
if len(files) == 0 {
    countLines(os.Stdin, counts)
} else {
    for _, arg := range files {
        f, err := os.Open(arg)
        if err != nil {
            fmt.Fprintf(os.Stderr, "dup2: %v\n", err)
            continue
        }
        countLines(f, counts)
        f.Close()
    }
}

func countLines(f *os.File, counts map[string]int) {
    input := bufio.NewScanner(f)
    for input.Scan() {
        counts[input.Text()]++
    }
}

用 "io/ioutil" 读取文件

go
for _, filename := range os.Args[1:] {
    data, err := ioutil.ReadFile(filename)
    ...
    for _, line := range strings.Split(string(data), "\n") {
        counts[line]++
    }
}

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史

总访问量 次, 访客数 人次