type treeNode struct{
value int
left, right *treeNode
}funcmain(){var tree treeNode
fmt.Println(tree)
tree = treeNode{5,nil,nil}
tree.left =&treeNode{}
tree.right =&treeNode{value:2}
tree.left.right =new(treeNode)
fmt.Println(tree.right)
trees :=[]treeNode{{value:2},{},{1,nil,&tree},}
fmt.Println(trees)
tree1 :=createTree(5)
fmt.Println(tree1)}funccreateTree(value int)*treeNode {return&treeNode{value: value}}
使用自定義工廠函數
返回局部變量地址,可以使用
給結構體定義方法
func(node treeNode)print(){
fmt.Println(node.value)}func(node *treeNode)set(value int){
node.value = value
}