Golang Interface Exploration

GoGoBeginner
Practice Now

This tutorial is from open-source community. Access the source code

Introduction

This challenge is about interfaces in Golang. Interfaces are named collections of method signatures.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("`Go`")) -.-> go/ObjectOrientedProgrammingGroup(["`Object-Oriented Programming`"]) go/ObjectOrientedProgrammingGroup -.-> go/interfaces("`Interfaces`") subgraph Lab Skills go/interfaces -.-> lab-15404{{"`Golang Interface Exploration`"}} end

Interfaces

The problem is to implement an interface in Go, we just need to implement all the methods in the interface. Here we implement geometry on rects and circles.

Requirements

  • Implement an interface in Go.
  • Implement all the methods in the interface.
  • Use a generic measure function to work on any geometry.
  • Use instances of circle and rect structs as arguments to measure.

Example

$ go run interfaces.go
{3 4}
12
14
{5}
78.53981633974483
31.41592653589793

## To learn more about Go's interfaces, check out this
## [great blog post](https://jordanorelli.tumblr.com/post/32665860244/how-to-use-interfaces-in-go).

Summary

This challenge is about implementing an interface in Go. We implemented the geometry interface on rects and circles and used a generic measure function to work on any geometry.

Other Go Tutorials you may like