Skip to Content
Learning Functional Programming in Go
book

Learning Functional Programming in Go

by Lex Sheehan
November 2017
Intermediate to advanced
670 pages
17h 35m
English
Packt Publishing
Content preview from Learning Functional Programming in Go

Reflection

Our implementation of predicates is performant but restrictive. Take the Any() function signature, for example:

func Any(vs []string, predicate func(string) bool) bool

The Any function only works for slices of string. What if we wanted to iterate over a tree or map structure? We'd have to write separate functions for each. This is a valid argument for requesting Go to support generics. If Go supported generics, our implementations would likely require much less code.

An alternative implementation could be to use empty interfaces. This would solve the problem of having to implement separate functions for each type of data we want to handle, given that an empty interface can take on a value of any type. To use a value of the interface{} ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning Functional Programming

Learning Functional Programming

Jack Widman

Publisher Resources

ISBN: 9781787281394Supplemental Content