Chapter 5. Function Recipes

5.0 Introduction

Functions are sequences of code that are put together such that they can be activated (or called) as a single unit. Functions enable programmers to break up problems into smaller parts, making code easier to understand and reusable. There are many other names used for such a construct, including routine, subroutine, procedure, and of course, function. In Go, this construct is called function.

Functions are relatively simple to understand and use, and most of the time. However, certain function concepts, like anonymous functions and closures, are more advanced. This chapter will explain basic and some more advanced concepts in functions and how Go implements them.

5.1 Defining a Function

Problem

You want to define a function.

Solution

Define a function using the func keyword.

Discussion

A function needs to be defined before it can be called. Each function definition in Go starts with the func keyword. The function needs to have a name. As with any variable, if the name is capitalized, it is exported and visible outside of the package. Otherwise, it is visible only within the package. Each function can take in zero or more parameters, which are inputs to the function. Each parameter must have a name and a data type, and they are placed after the name of the function within parentheses:

func myFunction(x int) {
    ...
}

In this example, x is the parameter’s name, and its data type is int. The body of the function is within two curly ...

Get Go Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.