- Learning Functional Programming in Go
- Lex Sheehan
- 193字
- 2021-07-02 23:13:40
Sample HOF application
Let’s build a sample app that will demonstrate the benefits of applying functional programming concepts to Go.
Our app will read from the following cars.csv file:
"Honda Accord"
"Honda Accord ES2"
"Lexus IS250"
"Honda CR-V"
"Lexus SC 430"
"Ford F-150"
"Toyota Highlander"
"Toyota RAV4"
"GM Hummer H2"
"GM Hummer H3"
We will apply high-order functions and various functional programming constructs to the list of cars to filter, map, reduce, and transform it to our heart's content.
Our project is structured as follows:
$ tree
.
├── README.md
└── chapter4
├── 01_hof
│ ├── cars.csv
│ ├── cars.go
│ ├── generator.go
│ ├── more_cars.csv
│ ├── restful.go
│ ├── types.go
│ └── utils.go
└── main.go
At the root of the chapter4 directory is our main.go file. Since we plan to build a Go executable from main.go and run it, we use the package name of main and include a main() function.
The other files will be in a subdirectory named 01_hof, where hof stands for high-order functions.