go语法--基础28--面向对象--结构

一、结构

1.1、结构的创建

在这里插入图片描述

案例
package main

import "fmt"

//定义结构
type treeNode struct {
	value       int
	left, right *treeNode
}

func main() {

	var root treeNode
	// 构建 value=3,2,1的节点
	root = treeNode{value: 3}
	root.left = &treeNode{value: 2}
	root.left.left = &treeNode{value: 1}
	// 构建 value4,5的节点
	root.right = &treeNode{4, nil, nil}
	root.right.right = &treeNode{5, nil, nil}

	// 可以通过new 函数 构建 对象
	// root.right.right = new(treeNode)

	fmt.Println("treenode:", root)
}

输出
treenode: {3 0xc000004078 0xc0000040a8}

1.2、构造函数

在这里插入图片描述

package main

import "fmt"

//定义结构
type treeNode struct {
	value       int
	left, right *treeNode
}

//自己来控制构造函数
func createTreeNode(v int) *treeNode {
	return &treeNode{value: v}
}

func main() {
	// 构建 value 3, 2,1 的节点
	root := createTreeNode(3)

	root.left = createTreeNode(2);
	root.left.left = createTreeNode(1);
	// 构建 value 4,5的节点
	root.right = createTreeNode(4);
	root.right.right = createTreeNode(5);
	fmt.Println("treenode:", root)
}

1.3、接受者函数

在这里插入图片描述


package main

import "fmt"

//定义结构
type treeNode struct {
	value       int
	left, right *treeNode
}

//自己来控制构造函数
func createTreeNode(v int) *treeNode {
	return &treeNode{value: v}
}

//接受者函数
func (node treeNode) printNodeValue() {
	fmt.Println("treeNode:", node.value)
}

func main() {
	// 构建 value 3, 2,1 的节点
	root := createTreeNode(3)
	//root 当做参数传进去
	root.printNodeValue()
}



输出

treeNode: 3

1.4、其他

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值