Advanced Golang
Having gained a solid understanding of Golang fundamentals in the previous books, you can ascend to advanced Golang programming. This book is designed to transform you into a true Golang expert, equipping you with the skills and knowledge to tackle intricate challenges and craft high-quality, performant code.
This book is designed to transform you into a true Golang expert, equipping you with the skills and knowledge to tackle intricate challenges and craft high-quality, performant code.
What you will learn
You have made it thus far into the world of Go for advanced programmers. Soon, you can write Go code to build real-world systems. In this course, you will learn about:
- Golang internals: In this chapter, we will embark on a journey to explore the core aspects of Go's language internals. We will delve into the Go compiler, the runtime system, garbage collection, assembly language, and techniques for profiling and optimizing Go code.
- Advanced concurrency patterns in Go: In this chapter, we'll explore some advanced concurrency patterns in Go, covering topics such as Goroutine patterns, atomic operations, memory models, high-performance concurrent systems, and distributed systems.
- Advanced packaging and dependency management: When building complex software, it is common to package the code with reusable modules inside the project that can be used everywhere. For example, you may build your logging package inside your project or use an existing one. Some software engineers believe it is more performant to avoid unnecessary dependencies in your project to reduce the overall size of your application. Let's explore how to package Go code.
- Building and deploying Go applications: This chapter will explore the process of building and deploying Go applications, covering different types of Go applications, their structure, containerization with Docker, deployment strategies, and Continuous Integration and Continuous Deployment (CI/CD) practices.
- Milestone Project: A Wallet Engine: In this milestone project, we will build a wallet engine using advanced Go concepts learned throughout this course. The wallet engine will be a practical example to demonstrate your understanding of Go's internal mechanisms, advanced concurrency patterns, packaging, dependency management, and deployment strategies.
By completing this book, you'll have become a true Golang expert equipped to tackle the most challenging programming tasks confidently and with finesse. This advanced volume is your gateway to joining the ranks of proficient Golang programmers who can wield the language's full power to create robust, efficient, and elegant solutions.
Learn advanced Glang concepts and build scalable Golang projects.