November 2017
Intermediate to advanced
670 pages
17h 35m
English
Check out https://godoc.org/github.com/mndrix/ps
From it's documentation:
Fully persistent data structures. A persistent data structure is a data structure that always preserves the previous version of itself when it is modified. Such data structures are effectively immutable, as their operations do not update the structure in-place, but instead always yield a new structure.
Persistent data structures typically share structure among themselves. This allows operations to avoid copying the entire data structure.
ps has small but effective API for manipulating lists and maps of data:
type List interface { Cons(val interface{}) List ForEach(f func(interface{})) Head() interface{} IsNil() bool Reverse() List ...