github.com/lingyao2333/mo-zero@v1.4.1/core/search/tree_debug.go (about)

     1  //go:build debug
     2  // +build debug
     3  
     4  package search
     5  
     6  import "fmt"
     7  
     8  func (t *Tree) Print() {
     9  	if t.root.item == nil {
    10  		fmt.Println("/")
    11  	} else {
    12  		fmt.Printf("/:%#v\n", t.root.item)
    13  	}
    14  	printNode(t.root, 1)
    15  }
    16  
    17  func printNode(n *node, depth int) {
    18  	indent := make([]byte, depth)
    19  	for i := 0; i < len(indent); i++ {
    20  		indent[i] = '\t'
    21  	}
    22  
    23  	for _, children := range n.children {
    24  		for k, v := range children {
    25  			if v.item == nil {
    26  				fmt.Printf("%s%s\n", string(indent), k)
    27  			} else {
    28  				fmt.Printf("%s%s:%#v\n", string(indent), k, v.item)
    29  			}
    30  			printNode(v, depth+1)
    31  		}
    32  	}
    33  }