Tree
This golang package creates a nice tree representation of your data:
First Root Node (1)
├── A child node (11)
├── Another child node (12)
│ └── A child child node (121)
│ └── A child child child node (1211)
└── Yet another one (13)
Second Root Node (2)
└── Yet another child node (21)
Usage
Just create a type for your tree which implements the tree.Tree
interface (see for example the TestTree
type used for testing):
type Tree interface {
RootNodes() []Node
ChildrenNodes(Node) []Node
}
Then, provide an instance of this type to tree.String
or tree.Write
, depending if you prefer the whole tree as a string or progressively written to the output via an io.Writer
.