Appending to a Querystring using Go

Featured image for sharing metadata for article

As noted in Don't Just String Append to a Querystring, we should avoid using string concatenation, and instead use our URL library's functionality.

With Go, we'd parse the URL, amend the querystring, and then make sure we set the RawQuery to allow us to convert it back to a string:

func addTracking(theUrl string) string {
	u, err := url.Parse(theUrl)
	if err != nil {

	queryString := u.Query()
	// append
	queryString.Add("utm_campaign", "the_tracking_campaign")
	// override
	queryString.Set("utm_campaign", "the_tracking_campaign")

	// make sure
	u.RawQuery = queryString.Encode()

	return u.String()

Written by Jamie Tanna's profile image Jamie Tanna on , and last updated on .

Content for this article is shared under the terms of the Creative Commons Attribution Non Commercial Share Alike 4.0 International, and code is shared under the Apache License 2.0.

#blogumentation #go #web.

This post was filed under articles.

Interactions with this post

Interactions with this post

Below you can find the interactions that this page has had using WebMention.

Have you written a response to this post? Let me know the URL:

Do you not have a website set up with WebMention capabilities? You can use Comment Parade.