Skip to Content
Go Programming Language For Dummies
book

Go Programming Language For Dummies

by Wei-Meng Lee
April 2021
Beginner
336 pages
5h 32m
English
For Dummies
Content preview from Go Programming Language For Dummies

Chapter 10

Defining Method Signatures Using Interfaces

IN THIS CHAPTER

Bullet Defining and implementing an interface in Go

Bullet Seeing how you may use an interface

Earlier in this book, I explain structs and how you can define methods in them. Another important topic in Go that is often not easy to grasp is that of interfaces. An interface defines the behavior of an object, specifying the methods that it needs to implement.

Interfaces serve two important purposes in Go:

  • They make your code more versatile.
  • They force you to adopt code encapsulation (the practice of hiding the implementation of your methods).

In this chapter, I explain what an interface is in Go and show you how to use it in your program. To make this topic less abstract, I illustrate interfaces with a few concrete examples.

Working with Interfaces in Go

An interface is an abstract type. It describes all the methods that a type can implement. But it only provides the method signatures, leaving the implementation entirely to the implementing type. So, you can say that interface defines, and doesn’t declare, the behavior of an object of a specific type.

You may still feel a bit fuzzy on interfaces, but stick with me, and I’ll show you some concrete examples.

Defining an interface

Let’s first start by defining an interface ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Getting started with Go Programming Language

Getting started with Go Programming Language

Matthew Spaulding
The Go Programming Language

The Go Programming Language

Alan A. A. Donovan, Brian W. Kernighan
Get Programming with Go

Get Programming with Go

Roger Peppe, Nathan Youngman

Publisher Resources

ISBN: 9781119786191Purchase Link