tree

package module
v0.0.0-...-211d1cd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2017 License: MIT Imports: 3 Imported by: 1

README

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 {

	// Returns the top level nodes.
	RootNodes() []Node

	// Returns the children of the provided 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.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func String

func String(tree Tree) string

String returns the whole tree as a string.

func Write

func Write(tree Tree, writer io.Writer) error

Write writes the tree line by line to the specified writer.

Types

type Node

type Node fmt.Stringer

type Tree

type Tree interface {

	// Returns the top level nodes.
	RootNodes() []Node

	// Returns the children of the provided node.
	ChildrenNodes(Node) []Node
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL