Functions may be recursive, that is, they may call themselves, either directly or indirectly. Recursion is a powerful technique for many problems, and of course it’s essential for processing recursive data structures. In Section 4.4, we used recursion over a tree to implement a simple insertion sort. In this section, we’ll use it again for processing HTML documents.
The example program below uses a non-standard package,
golang.org/x/net/html, which provides an HTML parser.
golang.org/x/... repositories hold packages designed
and maintained by the Go team for applications such as networking,
internationalized text processing, mobile platforms, image manipulation,
cryptography, and developer tools.
These packages are ...