封装
针对包来说
名字一般采用camelCase方法
首字母大写 public
首字母小写 private
针对方法和属性、常量都是这样的规则
一个目录下只能有有一个包
封装案例
node.go
package tree
import "fmt"
type Node struct {
Value int
Left,Right *Node
}
func CreateNode(value int) *Node {
return &Node{Value: value}
}
func (node Node) print() {
fmt.Println(node.Value)
}
func (node *Node) SetValue(value int) {
node.Value = value
}
traverse.go
package tree
func (node *Node) Traverse(){
if node ==nil{
return
}
node.Left.Traverse()
node.print()
node.Right.Traverse()
}
entry.go
package main
import "gin/tree"
func main() {
var root tree.Node
root = tree.Node{Value:3}
root.Left = &tree.Node{} // 0
root.Right = &tree.Node{5,nil,nil}
root.Right.Left = new(tree.Node)
root.Right.Right = tree.CreateNode(23)
root.Traverse()
}