作者: | Mihalis Tsoukalos |
语言: | 英文 |
出版年份: | 2017 |
编程语言: | Go |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
Part I:Go 语言基础
Part II:文件-目录-进程
pwd
, which
, rm
, find
, wc
, dd
等经典 Unix 工具Part III:并发与网络
建议顺序:先通读 Part I 掌握语言,再按兴趣跳读 Part II 或 Part III;每章末附有“动手练习”与“延伸阅读”。
cp
性能的影响。strace
, dtruss
, go tool vet
等排障手段,帮助理解底层系统调用。| 章 | 主题 | 关键示例 | 技法亮点 |
|---|---|---|---|
| 1 | 系统编程概念 | 进程状态模型 | 用 Go 思维映射 Unix 进程生命周期 |
| 2 | 语言基础 | Hello World、命令行参数、数组/切片/映射 | defer、命名返回值、匿名函数 |
| 3 | 高级特性 | 正则匹配、反射、unsafe 调用 C | 避免常见坑、不可达代码检测 |
| 4 | 包与数据结构 | sort.Slice、链表、二叉树、哈希表 | 自定义包、init()、私有符号规则 |
| 5 | 文件目录 | 实现 find
、pwd
、which
| filepath.Walk、flag 包解析 |
| 6 | 文件 I/O | 开发 wc
、dd
、cp
| io、bufio、稀疏文件、文件锁 |
| 7 | 系统文件 | 日志写入、权限修改、用户/组查询 | log/syslog、正则解析日志 |
| 8 | 进程与信号 | 信号捕获、日志轮转、shell pipe | os/signal、Unix 信号量 |
| 9 | goroutine 基础 | 并发 wc、channel、WaitGroup | Go 调度器、并发模型 |
|10 | goroutine 进阶 | 缓冲 channel、select、共享内存 | race 检测、GOMAXPROCS |
|11 | Web 应用 | HTTP 服务器、模板、JSON、MongoDB | html/template、net/http |
|12 | 网络编程 | TCP/UDP 服务器、RPC、DNS 查询 | net、Unix Socket |
find
、wc
、dd
、cp
等)。一句话总结:如果你想在 2025 年用更现代、更安全、更高生产力的方式重写经典 Unix 工具,《Go Systems Programming》提供了最系统的实战指南。