What you'll learn
- Build a completely functional web server in under 20 lines of code!
- Explore the basics of the Go programming language for cloud computing and microservices
- Work with Go's unique approach to interfaces and how this makes your programs more modular and testable
- Explore Go's concurrency model, which provides a simple and powerful way to model your programs for easy scalability
- Create your own library that can be shared with the world
- This course is for developers who want to extend their capabilities and build awesome and efficient applications with Go
Go is a compiled, statically typed language in the tradition of Algol and C, with garbage collection, limited structural typing, memory safety features, and CSP-style concurrent programming features added.
More and more developers are interested in learning Go. It was the language of the year on TIOBE in 2016 and is at the top of the list of languages that developers want to learn next.
This course will teach you how to program in Go, building on your existing knowledge of programming languages. It starts by introducing familiar features before moving on to the more unique features that have earned Go its reputation as the language of the cloud. You will learn how to build a completely functional application server in under two dozen lines of code. Then, you'll master structuring and organizing your code, implementing the procedural control structures of every C-inspired language, and breaking your code into separate functions.
Towards the end of the course, you'll learn how to create your own packages and import them. You'll also explore Go's approach to error handling, Object-Oriented Programming, and concurrency. By the end of the course, you'll be ready to start writing your own Go projects.
This course uses Go 1.9, while not the latest version available, it provides relevant and informative content for legacy users of Go.
About the Author :
Jon Bodner has spent the past 20 years working in just about every corner of the software industry including on-line commerce, education, finance, government, healthcare, and internet infrastructure. He is a software engineer, lead developer, and architect and enjoys presenting and discussing open source technology trends, and the future of software engineering. Jon is currently a Lead Software Engineer at Capital One where, along with a co-worker, he recently open sourced checks-out, a fork of the LGTM project
Over the past two years, Jon has given several public talks on Go. At DevFest DC, he gave introductory and advanced talks on Go concurrency. At GopherCon, he introduced Proteus, a declarative, type-safe, runtime-generated DAO layer for Go and, at GothamGo, he spoke on closures and generics in Go.
Jon has also written a number of posts on Go for Capital One's DevExchange blog.
In addition to talking and writing about Go, Jon has also spoken at PyData DC on improving Data Science accuracy via software engineering, took part in a panel on open source in the enterprise at Atlanta Vision Talks, and spoke about Capital One's open source process at the Open Source Leadership Summit and OSCON.
Who this course is for:
- This course is for developers who want to extend their capabilities and build awesome and efficient applications with Go. Programming knowledge is required but no knowledge of Go is needed.
Packt are an established, trusted, and innovative global technical learning publisher, founded in Birmingham, UK with over eighteen years experience delivering rich premium content from ground-breaking authors and lecturers on a wide range of emerging and established technologies for professional development.
Packt’s purpose is to help technology professionals advance their knowledge and support the growth of new technologies by publishing vital user focused knowledge-based content faster than any other tech publisher, with a growing library of over 9,000 titles, in book, e-book, audio and video learning formats, our multimedia content is valued as a vital learning tool and offers exceptional support for the development of technology knowledge.
We publish on topics that are at the very cutting edge of technology, helping IT professionals learn about the newest tools and frameworks in a way that suits them.