# Designing Go Interfaces Around Behavior and Concrete Data

DevFeed: [Designing Go Interfaces Around Behavior and Concrete Data](<https://devfeed.tech/articles/interface-values-are-valueless-22133.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2018/03/interface-values-are-valueless.html>)

Published: 2018-03-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [data](<https://devfeed.tech/topics/data.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [data-transformation](<https://devfeed.tech/tags/data-transformation.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [performance](<https://devfeed.tech/tags/performance.md>), [programming](<https://devfeed.tech/tags/programming.md>), [technical](<https://devfeed.tech/tags/technical.md>)

## AI overview

This article presents a data-oriented approach to designing interfaces in Go. It argues that developers should focus on interface behavior and its relationship with concrete data rather than implementation details or broad abstraction layers.

## Source excerpt

Introduction I've been seeing a lot of question about interfaces lately on Slack. Most of the time the answers are technical and focus on implementation details. Implementation is important to help with debugging, but implementation doesn't help with design. When it comes to designing code with interfaces, behavior has to be the main focus. In this post, I hope to provide a different way to think about interfaces and how to design code with them. I want you to stop focusing on the implementation details and focus on the relationship interfaces have with concrete data.