package leader type TreeNode struct { Id string `yaml:"id"` Children []TreeNode `yaml:"children,omitempty"` } func NewTreeNode(id string, children []TreeNode) *TreeNode { return &TreeNode{ Id: id, Children: children, } } func (t *TreeNode) AddChild(child *TreeNode) { t.Children = append(t.Children, *child) }