Go has moved from the state of tentative to mass adoption. Its C-like speed, simplicity, and power for a growing number of systems level programming domains make it an attractive option for programmers working with older cumbersome, statically typed languages. Golang has entered the space as an entirely viable language for accomplishing a huge array of low level programming and service infrastructure tasks.
This video course not only gives you a deep insight into the fundamental mechanics behind the language, but also covers extensive practical topics on Go for modern software architectures. It shows you how to write Go in an intelligent, idiomatic way. After a brief re-acquaintance with the key building blocks of Go, we will also explore how we can build upon the unique capabilities of the language to write effective, powerful code you can employ to develop software. We look at packages, object-oriented programming, concurrency and reflection among other things. Moreover, you will learn about Go’s awesome built-in testing support feature. Along the way, build your skills in File handling techniques, Go packages for databases, data serialization approaches, message communications between Go services, and Go web applications. Get your hands on with a plenty of illustrative code samples, exercises and real-world scenarios that will help you build your own application.
By the end of this course, you will be taught how to put this enhanced knowledge to build a real-world Spaceship application all by yourself with amazing features.
About The Author
Mina Andrawos is an experienced Engineer who has developed deep experience in Go from using it personally and professionally. He regularly authors articles and tutorials about the language, and also shares Go’s open source projects. He has written numerous Go applications with varying degrees of complexity. He is also the author of an upcoming course for Packt called “Go in Production”.
Other than Go, he has skills in C#, Java, Python, and C++. He has worked with various databases and software architectures and has skills with the agile methodology in software development. Besides software development; he has working experience of scrum mastering, sales engineering, and software product management.
Some people may think there is a large barrier to enter a new language like Go. This video serves to show how fun and easy it is to start learning advanced Go.
How do we write Go code? We will showcase the main principles behind organizing and writing Go code.
Writing a web application can be difficult and tedious in some mainstream programming languages. Go http packet will show how easy writing a web application can be.
The aim of the video is explain Go’s packages, functions, and variables from an advanced point of view. We will do that by building up the concepts from easy to difficult.
The aim of this video is to teach you how to write logic in Go via conditional statements and loops.
This video will go through different ways to implement the algorithm in Go.
We will build up the concepts of the three language components gradually.
How to create a Set even though Go doesn’t have native Set type? Use a Go Map.
Slices are confusing in Go, the aim of this video is to cover practical aspects of the topic.
Go does not have classes. How can we design modern software without them? This video provides a practical dive into how to develop code with object-oriented attributes.
The aim of the video is to cover the first piece of Go concurrency, which are goroutines. We will cover the topic via practical examples and diagrams.
The aim of the video is to explain communications between goroutines in Go. Go channels will be explained in detail.
The aim of this video is to discuss the third building component for Go concurrent software, which is the select statement. We will cover the select with practical examples.
Go does not have exceptions. How can we handle errors? The solution is to use Go error types for error detection and troubleshooting.
The aim of this video is to provide some exposure into some of Go’s most important packages. We will start to cover the packages one by one with examples.
The aim of this video is to write a web server via Go. We will explore the packages and the code needed.
The aim of this video is to take a deep look into the advanced features of methods and interfaces in Go.
The aim of the video is to take another look into advanced features of methods and interfaces in Go.
The aim of the video is to cover the factory pattern in Go.
The aim of the video is to explain the singleton pattern in Go.
The aim of the video is to cover the builder pattern in Go.
The aim of this video is to cover how to lock concurrent Go in code using the sync package.
Explain techniques to schedule executing future code in Go.
The aim of this video is to cover a useful Go concurrency pattern called channel generators.
The aim of the video is to cover pipeline patterns in Go, and we will start writing a chat system using it.
The aim of the video is to cover pipeline patterns in Go and continue writing a chat system.
This video gives the viewer a practical exposure to Go’s reflections.
The aim of this video is to cover an advanced topic of Go’s reflection which is structs and interfaces support.
The aim of the video is to provide real-life practical examples of using reflection in Go.
The aim of this video is to discuss benchmarking in Go.
The aim of this video is to cover some practical aspects in Go programming, like effective programming, cross-compilation, and the go tool.
The aim of the video is to cover the JSON format support in Go.
The aim of the video is to cover the XML format support in Go.
The aim of this video is to cover how Go handles CSV files.
The aim of this video is to cover Go’s support for MySQL.
The aim of this video is to show how Go can support MongoDB.
The aim of this video is to cover more powerful MongoDB operations using the powerful mgo driver.
The aim of this video is to cover Go’s support for BoltDB by writing a password vault for storing usernames and passwords.
The aim of this video is to build Hydra’s database.
The aim of this video is to cover Go’s support for the TCP protocol.
The aim of the video is to master TCP communications for Servers in Go.
The aim of the video is to cover UDP communications and base64 encoding.
The aim of the video is to cover protocol buffers, and Go’s support.
We now build the Hydra communication layer.
The aim of this video is to cover web clients and RESTful API handling in Go.
The aim of this video is to learn RESTful API design by building Hydra’s REST API.
This is the second video covering how to design a REST API. Learn how to build the web server and test the API.
The aim of this video is to build a static website using the bootstrap framework with Go templates.
We start building the backend of the Hydra website.
The aim of this video is to cover client-side web forms and web sockets via building the frontend of the Hydra chat portal.
We’ll cover backend forms, cookies and websockets by building the rest of Hydra’s chat portal.
The aim of this video is to cover practical aspects regarding web security in Go.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.