Object-oriented Programming with Go

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.
Course info
Rating
(28)
Level
Intermediate
Updated
August 11, 2017
Duration
1h 42m
Table of contents
Description
Course info
Rating
(28)
Level
Intermediate
Updated
August 11, 2017
Duration
1h 42m
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
The Go CLI Playbook
Intermediate
2h 8m
28 Feb 2018
Intern 4: Getting Started
Beginner
2h 41m
9 Jan 2018
Debugging Go Applications with Delve
Intermediate
2h 5m
10 Jul 2017
More courses by Mike Van Sickle
Transcript
Transcript

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 boiler plate code such as getter and setter methods for structs. This freedom from the constrictions that many object-oriented languages come with does have a cost, however. It is easy to write Go code without considering the advantages that object orientation brings.

In this course, we are going to learn what object oriented programming is supposed to be and how to apply its concepts in Go, when it makes sense to do so.

Some of the major topics that we will cover include:

  • How to hide implementation details of a 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 why Go only supports one of them
  • How to use interfaces to completely decouple code from the object’s that it is using
By the end 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 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 why it’s a good thing in Go with the Object Oriented Programming with Go course, at Pluralsight.Example Script.