Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

golang
communitycreator

How to convert an object from an interface to concrete type in Go

Chinweuba Elijah Azubuike

Overview

When we have to convert an interface{} type object to a concrete type, we can use the .(type) operator.

What is an interface{}?

An interface{} is a collection of type implementable method signature.

Syntax

type interface_name interface{
//Method signature
}

Parameters

interface{} accepts method signatures.

Why we use interface{}

One of the basic reasons to use an interface is that it makes interactions with third-party packages easier.

What is the .(type) operator?

.(type) is an operator used to group expressions.

Parameters

The type operator accepts expressions as arguments.

How to convert an interface to a concrete type

Below is an example of how to convert an object from an interface to a concrete type.

package main

import "fmt"

type Person struct {
	firstName string
	lastName  string
}

func main() {
	person := Person{
		firstName: "Joe",
		lastName:  "Bloggs",
	}

	printIfPerson(person)
}

func printIfPerson(object interface{}) {
	person, ok := object.(Person)

	if ok {
		fmt.Printf("Hello %s!\n", person.firstName)
	}
}

Explanation

In line 5, we make an interface type object, Person.

In lines 11-14, we add “Joe Bloggs” as a Person to the interface object.

In line 19, we create a function for the conversion of the object from an interface type to a concrete type.

In line 20, we access the values of the interface{} object type.

In line 23, we print our output.

RELATED TAGS

golang
communitycreator

CONTRIBUTOR

Chinweuba Elijah Azubuike
RELATED COURSES

View all Courses

Keep Exploring