- Basic programming experience in any language
- Familiarity with the Linux and Unix systems
Go (Golang) is an open source programming language developed at Google. One of Go's popular use cases is Linux and Unix systems programming.
In this instructor-led, live training, participants will learn the fundamentals of systems programming with Go as they step through hands-on exercises exploring the various features of Go.
By the end of this training, participants will be able to:
- Understand the fundamentals of Go systems programming
- Set up the Go development environment
- Write programs in Go
- Use both the basic and advanced features of Go for Unix and Linux systems programming
- Understand and use Goroutines
- Write fast and lightweight code with Go
- Write low-level networking code with Go
Audience
- Programmers
- Developers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Introduction
Understanding Unix Systems Programming
Understanding the Go Programming Language and the Go Architecture
Installing and Configuring the Go Development Environment
Learning the Basics of Go Syntax
Working with Go Packages
Algorithms, Data Structures
How Go Handles Garbage Collection
Dealing with Files and Directories in Go
Implementing File Input and Output Operations in Go
Implementing Error Handling
Identifying and Working with System Files in Go: Log Files, System Files Operations, and Passwords
Working with Unix Processes and Signals in Go
- Understanding Unix Processes and Signals
- Process Management
- Dealing with Unix Signals in Go
- Using the 'kill' Command
- Working with Unix Pipes and Sockets in Go
- Working with Remote Procedure Call (RPC) in Go
- Programming a Unix Shell in Go
Understanding and Working with Goroutines
- Learning About Goroutines
- Using the Sync Go Packages
- Dealing with Pipelines
- Using the Go Scheduler
- Using the 'select' Keyword
- Working with Signal Channels and Buffered Channels
- Handling Timeouts
- Working with Channels of Channels
- Working with Nil Channels
- Dealing with Shared Memory
- Working with the dWC.go Utility
Network Programming in Go
- Understanding Network Programming
- Working with the Net Go Standard Package
- Revisiting Unix Sockets
- Performing DNS Lookups
- Developing a Simple TCP Server and a Simple TCP Client
- Developing a Simple UDP Server and a Simple UDP Client
- Working with a Concurrent TCP Server
Troubleshooting
Summary and Conclusion
United Arab Emirates - Go for Systems Programming
Qatar - Go for Systems Programming
Egypt - Go for Systems Programming
Saudi Arabia - Go for Systems Programming
South Africa - Go for Systems Programming
Brasil - Go for Systems Programming
Canada - Go for Systems Programming
中国 - Go for Systems Programming
香港 - Go for Systems Programming
澳門 - Go for Systems Programming
台灣 - Go for Systems Programming
USA - Go for Systems Programming
Österreich - Go for Systems Programming
Schweiz - Go for Systems Programming
Deutschland - Go for Systems Programming
Czech Republic - Go for Systems Programming
Denmark - Go for Systems Programming
Estonia - Go for Systems Programming
Finland - Go for Systems Programming
Greece - Go for Systems Programming
Magyarország - Go for Systems Programming
Ireland - Go for Systems Programming
Luxembourg - Go for Systems Programming
Latvia - Go for Systems Programming
España - Ir a la Programación de Sistemas
Italia - Go for Systems Programming
Lithuania - Go for Systems Programming
Nederland - Go for Systems Programming
Norway - Go for Systems Programming
Portugal - Go for Systems Programming
România - Go for Systems Programming
Sverige - Go for Systems Programming
Türkiye - Go for Systems Programming
Malta - Go for Systems Programming
Belgique - Go for Systems Programming
France - Go for Systems Programming
日本 - Go for Systems Programming
Australia - Go for Systems Programming
Malaysia - Go for Systems Programming
New Zealand - Go for Systems Programming
Philippines - Go for Systems Programming
Singapore - Go for Systems Programming
Thailand - Go for Systems Programming
Vietnam - Go for Systems Programming
India - Go for Systems Programming
Argentina - Ir a la Programación de Sistemas
Chile - Ir a la Programación de Sistemas
Costa Rica - Ir a la Programación de Sistemas
Ecuador - Ir a la Programación de Sistemas
Guatemala - Ir a la Programación de Sistemas
Colombia - Ir a la Programación de Sistemas
México - Ir a la Programación de Sistemas
Panama - Ir a la Programación de Sistemas
Peru - Ir a la Programación de Sistemas
Uruguay - Ir a la Programación de Sistemas
Venezuela - Ir a la Programación de Sistemas
Polska - Go for Systems Programming
United Kingdom - Go for Systems Programming
South Korea - Go for Systems Programming
Pakistan - Go for Systems Programming
Sri Lanka - Go for Systems Programming
Bulgaria - Go for Systems Programming
Bolivia - Ir a la Programación de Sistemas
Indonesia - Go for Systems Programming
Kazakhstan - Go for Systems Programming
Moldova - Go for Systems Programming
Morocco - Go for Systems Programming
Tunisia - Go for Systems Programming
Kuwait - Go for Systems Programming
Oman - Go for Systems Programming
Slovakia - Go for Systems Programming
Kenya - Go for Systems Programming
Nigeria - Go for Systems Programming
Botswana - Go for Systems Programming
Slovenia - Go for Systems Programming
Croatia - Go for Systems Programming
Serbia - Go for Systems Programming
Bhutan - Go for Systems Programming