自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于Golang类型的讲解2——interface接口

关于Golang类型的讲解2——interface接口接上回,关于Golang类型的讲解1——内置类型和自定义类型 。文章目录关于Golang类型的讲解2——interface接口前言一、什么是interface二、接口类型的组成1.空接口类型的组成2.非空接口类型总结前言上回,我们主要讲了golang中内置类型和自定义类型的定义、区别、以及本质的含义。明白了类型元数据在其中扮演的是一个记录各个类型的底层基础信息的角色,也了解了自定义类型相比内置类型在结构上的差异,也因此知道了为什么自定义类型

2021-08-05 21:25:11 387

原创 关于Golang类型的讲解1——内置类型和自定义类型

关于Golang类型的讲解1——内置类型和自定义类型GoLang类型基本成员什么是内置类型什么是自定义类型内置类型元数据自定义类型元数据关于自定义类型和别名总结GoLang类型基本成员golang类型基本是由内置类型和自定义类型组成。本节会围绕内置类型和自定义类型来讲解其二者的异同。什么是内置类型所谓内置类型,是在golang源码中本身一开始定义的一系列类型,基本包括:int8int16int64int32intbytefuncmap等。什么是自定义类型自定义类型是在用户进程中

2021-07-06 21:30:53 742

原创 golang关于panic的解析

panic解析:关于panic,接下来主要讲panic的执行机制和顺序;与defer是相辅相成的:首先,通过上一节我们知道,多个defer组成列表挂在当前协程的成员变量_defer下的。同理在goroutine结构体上还有个字段是用来挂接多个_panic结构体的。学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记

2021-06-18 00:17:13 2300

原创 【go上一层楼】浅谈defer

文章目录一、Defer结构二、defer的基本原理分配函数执行defer函数链jmpdefer三、总结四、参考一、Defer结构defer本质其实是一个_defer结构体。type _defer struct { siz int32 // 参数和返回值的内存大小 started bool heap bool // 区分该结构是在栈上分配的,还是对上分配的 sp uintptr // sp 计数器值,栈指针; pc

2021-06-07 21:14:05 343 3

原创 Golang关于HashMap的解析

Golang关于HashMap的解析开门见山,进入正题文章目录Golang关于HashMap的解析HashMap的介绍一、键值对存储规则二、冲突键值对三、hash表扩容参考HashMap的介绍hashMap在程序开发中用的还是很多的,一般都会用到。在做映射的时候还是很方便,那么在golang中是怎样实现的呢?首先,我们知道Map是由KEY和Value(键值对)组成,且MAP通过桶(bucket)来存储键值对,那么其是通过什么规律来存储的呢?一、键值对存储规则他是怎么知道我们的某一个键值

2021-05-20 22:47:04 847

原创 [golang] slice切片扩容规则解析

【golang】slice深度解析前言slice组成cap存在的意义slice扩容规则总结参考前言golang的slice切片大家应该都用过,如果说他就是个数组,那是不准确的。在这里我会和大家一起探讨golang中切片的一些逻辑。slice组成如图:其中:data包含真实的地址和字节长度,你可以理解为就是我们传统意义上理解的数组连续内存;len表示实际的切片内元素数量;cap表示切片的真实底层数量;cap不能小于len。问:什么情况下cap大于len呢,什么情况下又等于?通过几个初

2021-05-13 18:50:02 1214 1

原创 大白话解析Context中的cancelCtx

Context中的cancelCtx的难点大白话解析文章目录前言Context家族emptyCtxcancelCtxtimerCtxvalueCtxcancelCtx初始化cancelCtx取消方法参考前言context,学习golang的同学应该都接触过这个。就一个context.go的简单文件涵盖了很多golang的知识点,从设计模式到线程安全都有涵盖,当然一切的根本就是接口Context,但是其精髓应该是cancelCtx(到目前为止,不确保官方继续实现新的context)接下来,不会大

2021-04-21 13:46:56 1606

原创 GoLang关于channel初始化和使用的一些细节

GoLang关于channel初始化和使用的一些细节前言makechanchanRecv(chanSend)结尾参考前言本文主要围绕channel的一些细节上做些总结和分享。主要涉及到两个方面一个是初始化,另外一个就是在数据实际接收和发送的时候的一些细节;这两个离不开golang编译器的协助,所以在了解go源码时,go编译器其实在其中起到了很大的作用。makechanmake 方法 主要是初始化 切片、map和channel这里主要说make(chan type)例如:make(chan int

2021-03-29 16:48:26 2426 1

空空如也

空空如也

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

TA关注的人

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