Golang Project Structure

Tutorials, tips and tricks for writing and structuring code in Go (with additional content for other programming languages)

go programming

Tag

Rob Pike’s Go Proverbs (Part One)

Rob Pike, one of the creators of the Go programming language.

This post is the start of an upcoming three-part series that will explain nineteen 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.

How to Handle Errors in Go

Even the best-written code will occasionally run into problems. If hardware breaks, network connections are lost or users provide unexpected input, errors make us aware of the problem and allow us to take action to fix it. We will begin by discussing how errors are defined in Go and then we will go through some […]

Using Pointers in Go Code

It’s possible to write thousands of lines of Go code without declaring a pointer even once. However, pointers are an important part of the programming language, so it’s important to ensure that you understand how they work. In this post we will discuss the definition of a pointer and then go on to look at […]

Reading and Writing YAML

This post will discuss what YAML is and how its syntax works. We will then move on to a simple real-world example, so you can see how YAML looks. Finally, we will learn how a program can be written in Go code that is able to read and write data formatted in YAML. What Is […]