Go
Learning Go 豆瓣
作者: Jon Bodner O'Reilly Media, Inc. 2021 - 5
Go is rapidly becoming the preferred language for building web services. There are plenty of tutorials available that teach Go’s syntax to developers with experience in other programming languages. But tutorials aren’t enough. They don’t teach Go’s idioms, so developers end up recreating patterns that don’t make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go.
No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner explains the rationale behind the Go team’s design decisions and reveals design patterns that experienced Go developers have adopted. You’ll learn how to structure your project and choose the proper tools and libraries to create successful software.
Learn how to write idiomatic code in Go and design a Go project
Understand the reasons for the design decisions in Go
Set up a Go development environment for a solo developer or team
Explore which libraries to select when solving problems
Learn how Go’s features allow the language to run efficiently
Know which Go features you should use sparingly, or not at all
Go语言高级编程 豆瓣
6.0 (5 个评分) 作者: 柴树杉 / 曹春晖 人民邮电出版社 2019 - 7
本书从实践出发讲解Go语言编程的进阶知识。本书共6章,第1章简单回顾Go语言的发展历史;第2章和第3章系统介绍CGO编程和Go汇编语言的用法;第4章对RPC和Protobuf技术进行深入介绍,并讲述如何打造一个自己的RPC系统;第5章介绍工业级环境的Web系统的设计和相关技术;第6章介绍Go语言在分布式领域的一些编程技术。
Network Programming with Go 豆瓣
作者: Adam Woodbeck No Starch Press 2021 - 3
Shows you how to leverage the Go programming language's concurrency and rich standard library to write robust network programs. You'll learn how to write secure, network software in idiomatic Go using the language's latest features.
In Network Programming with Go you'll learn how to leverage Go's concurrency and rich standard library to write robust network programs to create and handle network connections. You'll learn how to craft custom HTTP/2 and SSH servers, build secure network connections with HTTPS, HTTP/2, SSH, TLS, encrypted port forwarding, integrate TLS with free Let's Encrypt certificates, QUIC (HTTP/3), structured logging, and metrics. The author also connects network applications with corresponding cloud offerings such as AWS, Azure, and Google Cloud and shows how to programmatically interact with these providers using their software development kits. Difficult concepts are explained with analogies, diagrams, and examples as you learn to solve common networking problems and write secure software. For professional developers and experienced Go programmers.
Writing An Interpreter In Go 豆瓣
作者: Thorsten Ball Thorsten Ball 2017 - 2
In this book we will create a programming language together. We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* programming language.
Step by step. From tokens to output. All code shown and included. Fully tested.
Buy this book to learn:
How to build an interpreter for a C-like programming language from scratch
What a lexer, a parser and an Abstract Syntax Tree (AST) are and how to build your own
What closures are and how and why they work
What the Pratt parsing technique and a recursive descent parser is
What others talk about when they talk about built-in data structures
What REPL stands for and how to build one
Why this book?
This is the book I wanted to have a year ago. This is the book I couldn't find. I wrote this book for you and me. So why should you buy it? What's different about it, compared to other interpreter or compiler literature?
Working code is the focus. Code is not just found in the appendix. Code is the main focus of this book.
It's small! It has around 200 pages of which a great deal are readable, syntax-highlighted, working code.
The code presented in the book is easy to understand, easy to extend, easy to maintain.
No 3rd party libraries! You're not left wondering: "But how does tool X do that?" We won't use a tool X. We only use the Go standard library and write everything ourselves.
Tests! The interpreter we build in the book is fully tested! Sometimes in TDD style, sometimes with the tests written after. You can easily run the tests to experiment with the interpreter and make changes.
Why this book?
This book is for you if you...
learn by building, love to look under the hood
love programming and to program for the sake of learning and joy!
are interested in how your favorite, interpreted programming language works
never took a compiler course in college
want to get started with interpreters or compilers…
... but don't want to work through a theory-heavy, 800 pages, 4 pounds compiler book as a beginner
kept screaming "show me the code!" when reading about interpreters and compilers
always wanted to say: "Holy shit, I built a programming language!"
The Go Programming Language 豆瓣 Goodreads
9.6 (10 个评分) 作者: Brian W. Kernighan / Alan Donovan Addison-Wesley Professional 2015 - 11
Go is an open-source programming language that makes it easy to build clean, reliable, and efficient software. It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems.<br /> <br /><strong>The Go Programming Language</strong> is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++.<br /> <br />The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects.<br /> <br />The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection.<br /> <br />The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.