Golang Project Structure

Tips and tricks for writing and structuring Go code

James Smith


Guide to Printing to the Console in Go

A row of wooden letters spelling out the word "format".

Most programs will need to emit some kind of output if they’re going to be useful to the people using them. So today we will look at the various ways to print content to the console in Go, focusing on four related functions in particular. Introducing the Fmt Package The Go standard library’s functions for […]

Did You Know That Slices in Go Can Take Three Indices?

Three cute cats sitting in a row.

I’m going to show you a little snippet of syntax today that even many experienced Go programmers may not be aware exists, which involves performing an operation on an array or slice with the use of three different indices. We’ll look in more detail at this special syntax that’s used in a slice-indexing operation below. […]

Why Ezoic Is the Best Ad Network To Make Money From Content Online

You may have seen the advertisements that are automatically placed into various sections on most of the pages on this website. The team at Ezoic handles all that for me, allowing me to focus on writing about the things that I care about and sharing what I’ve learnt about coding with other Go developers. So […]

Rob Pike’s Go Proverbs (Part One)

This post is the start of an upcoming three-part series which will explain twelve Go proverbs. In this context, the word “proverb” is just used as a fancier term for a “short, snappy saying”. The proverbs that we’ll be discussing come from a talk given by Rob Pike in the early days of Go. Rob […]

How to Determine if a Year Is a Leap Year

Not all years are of the same length — some are shorter or longer than others — so if you’re writing code that deals with dates and durations, it may be important to take account of this. What Is a Leap Year? In the Gregorian calendar, a leap year has 366 days, whereas other years […]

Installing the Go Programming Language From Scratch

Installing the Go programming language for the first time is really easy, regardless of what operating system or processor architecture your computer is running. It’s particularly straightforward to install Go on Windows or MacOS machines, but Linux users won’t find the process unnecessarily difficult either, especially if they’re using a package manager. Where to Find […]

How to Check Whether a File Exists or Not With Go

There is no single function in the Go standard library that will return a boolean value set to true if a given file or directory exists, based on a given path, or false if it doesn’t. Some people may argue that such a function should have been provided, especially since other popular programming languages have […]

Handling Times, Dates and Durations of Time

Unlike some other programming languages, Go offers really good native support for working with durations, dates and times. We will look at how they are represented in Go, before exploring some of the various methods and functions that can be used to modify, parse or format them.