Description
Course info
Rating
(45)
Level
Intermediate
Updated
Aug 11, 2017
Duration
1h 43m
Description

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.

About the author
About the author

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 experience design.

More from the author
Exploring Go Modules
Intermediate
1h 52m
Aug 26, 2019
Deep Dive into Go Packages
Intermediate
1h 34m
Jul 29, 2019
Go: Getting Started
Beginner
3h 29m
Jun 28, 2019
More courses by Mike Van Sickle
Section Introduction Transcripts
Section Introduction Transcripts

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.