Working with Go offers you the freedom to write clean and concise code that isn't cluttered with a lot of boilerplate. This course gives an introduction to object-oriented programming concepts, why they are important, and how to apply them in Go.
The Go language offers a fresh way to look at how a programming language can be constructed. Each language structure is considered in light of how the developer and the compiler need to interact with it. While this has led to a language that is very clear and concise, it can make it difficult to recognize how conventional design approaches, such as object-oriented programming can be applied. In this course, Object-oriented Programming with Go, you'll learn the major concepts of object-oriented programming, and see how they can be implemented in Go applications. First, you'll discover how to hide implementation details of a service with encapsulation. Next, you'll explore the difference between inheritance and composition, and why Go only supports one of them. Finally, you'll cover how to use interfaces to completely decompile code from the objects that it's using. By the end of this course, you'll have a solid understanding of the major principles of object-oriented programming, and how to apply them efficiently in Go.
Michael Van Sickle is an application architect in Akron, Ohio.
He is a mechanical engineer by training and a software engineer by choice.
He is passionate about learning new programming languages and user
Course Overview Hi everyone. My name is Michael Van Sickle, and welcome to my course, Object-oriented Programming with Go. Many engineers that work with Go love the freedom that it offers to write clean, concise code that isn't cluttered with a lot of boilerplate such as getter and setter methods for struct fields. This freedom from the constrictions that many object-oriented languages come with, does have a cost, however. It's easy to write Go code without considering the advantages that object orientation brings. In this course, we're going to learn what object-oriented programming is supposed to be, and how to apply its concepts in Go when it makes makes sense to do so. Some of the major topics that we'll cover include how to hide implementation details of service with encapsulation, what message passing is and how it differs from just calling a method on an object, the difference between inheritance and composition, and why Go only supports one of them, how to use interfaces to completely decouple code from the objects that it's using. By the end of this course, you'll know about the major principles of object-oriented programming, and how to apply them judiciously in Go. Before beginning the course, however, you should be familiar with the basics of programming in Go. I hope you'll join me on this journey to learn about object orientation and when it's a good thing in Go with the Object-oriented Programming with Go course at Pluralsight.