【go】结构体

go语言仅支持封装,不支持集成和多态~

go语言没有class,只有struct

1.结构的定义

type treeNode struct{
	value int
	left,right *treeNode

}

2.结构的实例化


	  //使用自定义工厂函数,返回局部变量的地址
func createNode(value int) *treeNode{
	return &treeNode{value:value}
	
    var root treeNode
	fmt.Println(root) //{0 <nil> <nil>}
	//1.
	root=treeNode{value:3}  
	//2.由于left是指针,所以取地址~
	root.left=&treeNode{} //0
	//3.由于right是指针,所以取地址~
	root.right=&treeNode{5,nil,nil}
	//4.
	root.right.left=new(treeNode) //0
    //5.
  root.left.right=createNode(2)

}

3.为结构定义方法

func (node treeNode) print(){
	fmt.Println(node.value)
}


func main(){
root.print()
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值