自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 GO底层——defer

1.defer简介defer语句用于延迟函数的调用,每次defer都会把一个函数压入栈中,函数返回前再把延迟的函数取出并执行。为了方便描述,我们把创建defer的函数称为主函数,defer语句后面的函数称为延迟函数。2.规则2.1延迟函数的参数在参数定义时已经确定func a() { i := 0 defer fmt.Println(i) i++ return}输出结果:0原因:延迟函数传入的参数在定义(i:=0)时就已经确定 ,实际上是拷贝了一份

2021-09-28 20:20:20 127

原创 GO数据结构——红黑树(一.基础操作)

1.简介R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。在开发当中,红黑树的综合效率最高,复杂度也最高。红黑树的特性: (1)每个节点或者是黑色,或者是红色。(红色代表true,黑色代表false) (2)根节点是黑色。 (3)每个叶子节点(NIL)是黑色。[注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点] (4)如果一个节点是红色的,则它的子节点必须是黑色的

2021-09-23 12:06:57 971

原创 GO数据结构——AVL树

1. 简介AVL树是一种严格自平衡的二叉查找树。定义:1.二叉查找树2.任意一个节点的左右子树的最大高度差为12. AVL树基本结构2.1 AVL树基础函数type AVLNode struct { Data interface{} Right *AVLNode Left *AVLNode Height int}/比较函数 用于对比目标节点与当前节点的高度差 纠正平衡因子func compare(data,avldata interface{})int{ if

2021-09-21 20:42:59 272 1

原创 GO底层——slice

1.简介slice:切片。依托数组实现,可粗线理解为动态数组。相对比于一般数组,可更方便的进行扩容等操作。2 slice实现2.1 slice数据结构type slice struct { array unsafe.Pointer len int cap int}array指针指向底层数组,len表示切片长度,cap表示底层数组容量。2.2 make创建sliceslice := make([]int, 5, 10)所创建Slice该S...

2021-09-21 12:08:25 139

原创 GO底层——chan (图来自GO专家编程)

1.简介channel是golang在语言层面提供的goroutine间的通讯方式。2.chan数据结构type hchan struct { qcount uint // 当前队列中剩余元素个数 dataqsiz uint // 环形队列长度,即可以存放的元素个数 buf unsafe.Pointer // 环形队列指针 elemsize uint16 // 每个元素的大小 clos...

2021-09-20 23:37:46 255

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除