Search⌘ K

Structs, Collections and Higher-Order Functions

Explore how to create and manipulate collections of structs using pointers in Go. Understand the power of higher-order functions to process, filter, and map data within collections. Learn to group and sort objects dynamically by writing reusable functional patterns. This lesson builds your ability to handle complex data structures and functional programming concepts in Go.

We'll cover the following...

Often, when you have a struct in your application, you also need a collection of (pointers to) objects of that struct, like:

type Any interface{}

type Car struct {
  Model string
  Manufacturer string
  BuildYear int
  // ...
}

type Cars []*Car

We can then use the fact that higher-order functions can be arguments to other functions when defining the needed functionality, e.g.:

  1. When defining a general Process() function, which itself takes a function f which operates on every car:
// Process all
...