Go

Go Interfaces

Interfaces, type assertions, type switches, empty interface, error interface

18 interview questionsยท
Junior
1

What is an interface in Go?

Answer

An interface in Go is a type that defines a set of method signatures. A type implements an interface implicitly by defining all its methods, without explicit declaration. This enables strong decoupling and flexibility in Go program design.

2

How does a type implement an interface in Go?

Answer

In Go, interface implementation is implicit: a type just needs to define all the methods of the interface. No explicit declaration (like 'implements' in Java) is needed. This allows adding interfaces to existing types without modifying their source code.

3

What is special about the empty interface (interface{}) in Go?

Answer

The empty interface (interface{}) defines no methods, which means all types automatically implement it. It can therefore hold a value of any type. Since Go 1.18, it is aliased by the predeclared type 'any' for better clarity.

4

Since Go 1.18, what is the alias for the interface{} type?

5

What is the syntax for a type assertion in Go?

+15 interview questions

Master Go for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free