Recursion with go

Adam Szpilewicz
3 min readMar 26, 2023

A recursive algorithm is a problem-solving approach that involves breaking down a problem into smaller subproblems that can be solved in a similar manner. The algorithm then calls itself to solve each of the smaller subproblems. This process continues until a base case is reached, which is a problem that can be solved directly without recursion. The solution to each subproblem is then combined to solve the original problem.

Recursive algorithms can be used in many different domains, including computer science, mathematics, and engineering. They are often used to solve problems that can be broken down into smaller pieces, such as searching and sorting algorithms, tree traversals, and many others. Recursion can often result in more elegant and concise code, as well as better performance in some cases. However, recursive algorithms can also be more difficult to debug and understand, and may have issues with stack overflow for large input sizes.

Example in go

This is a Go program that recursively walks through a directory and prints out all the files in that directory.

In the main function, the program defines the directory to be walked using the path variable. Then, it calls the WalkDir function, passing in an empty slice of strings to hold the file paths.

--

--

Adam Szpilewicz

Backend software engineer working with golang and python @Rivery (https://rivery.io/). I like writting and reading about code and software engineering.