Files
the-way-to-go_ZH_CN/eBook/examples/chapter_11/node_structures.go
2015-03-03 12:25:25 -05:00

32 lines
575 B
Go

// node_structures.go
package main
import "fmt"
type Node struct {
le *Node
data interface{}
ri *Node
}
func NewNode(left, right *Node) *Node {
return &Node{left, nil, right}
}
func (n *Node) SetData(data interface{}) {
n.data = data
}
func main() {
root := NewNode(nil,nil)
root.SetData("root node")
// make child (leaf) nodes:
a := NewNode(nil,nil)
a.SetData("left node")
b := NewNode(nil,nil)
b.SetData("right node")
root.le = a
root.ri = b
fmt.Printf("%v\n", root) // Output: &{0x125275f0 root node 0x125275e0}
}