封装

封装

针对包来说
名字一般采用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()

}
原文地址:https://www.cnblogs.com/webclz/p/14018986.html