Golang Project Structure

Tips and tricks for writing and structuring Go code

idioms

Tag

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 durations, dates and times are represented in Go, before exploring some of the various methods and functions that can be used to modify, parse or format them. Representing Durations A duration can […]

How to Handle Errors

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 […]

Golang Zero Values (0 and Beyond)

This post will discuss what a zero value is and how it can be relied upon to give some default state to initialized variables. It’s important to know the zero values for each of the basic data types in Go, in order to use them in your own code, so we will also provide a […]

Reversing a String

This post will look at various ways to reverse a string in Go, a fairly common task that isn’t explicitly handled by the standard library. We will start by looking at some basic examples using Java and the Linux command line, then we will go through various ways to code solutions to the problem in […]

Functional Programming With Slices

This post will explore the programming paradigm known as functional programming and discuss what restrictions it places on programmers, as well as how it helps in the process of developing and structuring code. We will then go through some practical examples of functional-style code written in Go, specifically looking at how generic functions can be […]