精通Go语言 影印版 英文版
作者:(希)米哈里斯 图卡洛斯(MihalisTsoukalos)著
出版时间: 2019年版
内容简介
Go编程语言,通常也称为Golang(尽管这种叫法并不对),借助一些大师级开发作品以及伟大的编程思想的高屋建瓴。着实取得了长足进步。Shopify的首席执行官TobiasLutke近便声称“Go将成为未来的服务器语言”,掷地有声,雄心勃勃。Go程序员的需求量正处于高位,但更有争议的是,Go走上了以前由C和Unix程序员的舞台。Go语言的成长使其能够实现系统、网络、Web以及云应用。只要熟悉了语法,掌握库的使用并利用其语言特性、速度和效率,你将受益无穷,Go生态学正是因此而闻名。你多少已经知道了点Go语言的语法,也编写了一些小项目,而大多数Go程序员都面临着将Go语言技能与生产代码结合的难题。对Go编程的典型介绍往往是浅尝辄止,而《精通Go语言(影印版 英文版)》作者将继续告诉你如何解决这个问题。《精通Go语言(影印版 英文版)》提供了Go的概要,介绍了Go的实现,还有专门一章深入解释了并发、系统以及网络编程,这对于现代的原生云开发是必不可少的,读者也将从中受益。
目录
Preface
Chapter 1: Go and the Operating System
The structure of the book
The history of Go
Why learn Go?
Go advantages
Is Go perfect?
What is a preprocessor?
The godoc utility
Compiling Go code
Executing Go code
Two Go rules
You either use a Go package or do not include it
There is only one way to format curly braces
Downloading Go packages
Unix stalin, stdout, and stderr
About printing output
Using standard output
Getting user input
About := and =
Reading from standard input
Working with command-line arguments
About error output
Writing to log files
Logging levels
Logging facilities
Log servers
A Go program that sends information to log files
About log.Fatal()
About log.Panic()
Error handling in Go
The error data type
Error handling
Additional resources
Exercises
Summary
Chapter 2: Understanding Go Internals
The Go compiler
Garbage Collection
The Tricolor algorithm
More about the operation of the Go Garbage Collector
Unsafe code
About the unsafe package
Another example of the unsafe package
Calling C code from Go
Calling C code from Go using the same file
Calling C code from Go using separate files
The C code
The Go code
Mixing Go and C code
Calling Go functions from C code
The Go package
The C code
The defer keyword
Panic and Recover
Using the panic function on its own
Two handy Unix utilities
The strace tool
The dtrace tool
Your Go environment
The Go Assembler
Node Trees
Learning more about go build
General Go coding advices
Additional Resources
Exercises
Summary
Chapter 3: Working with Basic Go Data Types
Go loops
The for loop
The while loop
The range keyword
Examples of Go for loops
Go arrays
Multi-dimensional arrays
The shortcomings of Go arrays
Go slices
Performing basic operations on slices
Slices are being expanded automatically
Byte slices
Chapter 4: The Uses of Composite Types
Chapter 5: Enhancing Go Code with Data Structures
Chapter 6: What You Might Not Know About Go Packages
Chapter 7: Reflection and Interfaces for All Seasons
Chapter 8: Telling a Unix System What to Do
Chapter 9: Go Concurrency - Goroutines, Channels, and Pipelines
Chapter 10: Go Concurrency- Advanced Topics
Chapter 11: Code Testing, Optimization, and Profiling
Chapter 12: The Foundations of Network Programming in Go
Chapter 13: Network Programming - Building Servers and Clients
Other Books You May Enjoy
Index