Image for post
Image for post

Combine Multiple Field Tags in Go

I work a lot with JSON APIs in my Go projects, so almost every struct has some field tags on it to translate AccountID into account_id and that sort of thing. Then one day I needed to load data from config using mapstructure and it took a few attempts with the search engine to find the syntax I needed, so it's here for next time I need it (or in case you need it too).

An example truly is worth a thousand words! (This one is from the code that drives the [neopixel shelf](https://lornajane.net/posts/2020/neopixel-shelf)):

type LEDColour struct {
Red uint8 `mapstructure:"red" json:"red"`
Green uint8 `mapstructure:"green" json:"green"`
Blue uint8 `mapstructure:"blue" json:"blue"`
White uint8 `mapstructure:"white" json:"white"`
}

It turns out that the reason I couldn’t find examples of how to combine struct field tags is because you don’t! You just add each one required, followed by a space, and then the next, and so on. How simple, how elegant … how Go!

Originally published at LornaJane.

Polyglot programmer, technology addict, open source fanatic and incurable blogger (see http://lornajane.net)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store