Home>Courses>Advanced Techniques in Go Programming

Advanced Techniques in Go Programming

Gain insights into Go's concurrency model with goroutines and channels. Explore advanced concepts like interfaces, testing, and build highly concurrent systems like web and RESTful servers.

Intermediate

329 Lessons

70h

Certificate of Completion

Gain insights into Go's concurrency model with goroutines and channels. Explore advanced concepts like interfaces, testing, and build highly concurrent systems like web and RESTful servers.
AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

324 Playgrounds
13 Quizzes
Course Overview
What You'll Learn
Course Content
Recommendations

Course Overview

Go is one of the most popular programming languages today in the systems programming and networking space. Go has built-in concurrency capabilities using a simple concurrency model implemented using goroutines and channels. In addition to Go’s rich and reliable standard library, handy Go packages (cobra and viper) allow us to develop powerful command-line utilities (e.g., docker and hugo) in Go. You will start the course by covering the basics of Go—syntax, basic and composite data types, etc.—before movin...Show More
Go is one of the most popular programming languages today in the systems programming and networking space. Go has built-in concu...Show More

TAKEAWAY SKILLS

Go

Distributed Computing

Concurrency

RESTful API

REST API

What You'll Learn

Familiarity with the core features of the Go language
Hands-on experience with developing Go functions and packages
Thorough understanding of advanced Go features such as reflection, interfaces, and generics
Ability to design and develop feature-rich Windows and UNIX utilities and system tools in Go
Hands-on experience with designing highly concurrent applications in Go
Ability to build REST, gRPC, and WebSocket-based servers and clients in Go
Familiarity with the core features of the Go language

Show more

Course Content

1.

Course Introduction

1 Lessons

Get familiar with advanced Go, including RESTful services, WebSocket protocol, and generics.

5.

Reflection and Interfaces

22 Lessons

Deepen your knowledge of implementing reflection and interfaces in Go for dynamic typing and sorting.

6.

Go Packages and Functions

26 Lessons

Follow the process of developing, using, and managing Go packages, functions, and modules.

7.

Telling a UNIX System What to Do

36 Lessons

Master UNIX system programming with Go, covering file I/O, JSON/XML handling, signals, and Cobra utilities.

8.

Go Concurrency

40 Lessons

Sharpen your skills in Go concurrency with goroutines, channels, mutexes, and context management.

9.

Building Web Services

26 Lessons

Get started with creating Go-based web services, HTTP handling, Docker images, and Prometheus metrics.

10.

Working with TCP/IP and WebSocket

26 Lessons

Work your way through TCP/IP, UDP, UNIX Domain Sockets, and WebSocket server/client creation.

11.

Working with REST APIs

22 Lessons

Build a foundation in developing and testing RESTful APIs using Go, including client-server interactions and database integrations.

12.

Code Testing and Profiling

29 Lessons

Optimize Go code performance and correctness through testing, profiling, benchmarking, and tracing techniques.

15.

Conclusion

1 Lessons

Step through Go's features, concurrency, networking, and practical applications for real-world use.

16.

Appendix A—Go Garbage Collector

5 Lessons

Get insights into Go's garbage collector, memory allocation, and performance optimization techniques.

Course Author

Trusted by 2.6 million developers working at companies

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath