自定义博客皮肤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-gRPC 初体验

微服务想必大家都不陌生了。刚接触到golang,那么在golang中怎么使用微服务呢。这里使用gRRC框架写了一个简单的例子。环境要求go>=1.13; set GO111MODULE=on安装 protoc安装 Protoc plugin-go示例代码 iris-grpc-example项目结构iris-grpc-example│ .gitignore│ ...

2020-02-10 22:35:22 404

原创 无处不在的幂等f(f(x)) = f(x)

幂等的基本概念可能我们经常在看网上文章的时候会看到幂等这个概念,那么幂等到底是什么呢?幂等:在编码中谈的幂等一般对应数学概念中的一元幂等:某一元运算为幂等的时,其作用在任一元素两次后会和其作用一次的结果相同f(f(x)) = f(x)。既对于同一个输入不管进行多少次函数运算都应该都应该得到相同的结果。不堪回首的往事在一次偶然的bug的发现了幂等这个概念的重要性。实际业务是这样的。...

2020-02-03 21:27:05 1259

原创 go学习笔记-init函数执行顺序分析

golang中有个神奇的函数init,该函数会在所有程序执行开始前被调用,每个包可以包含多个init函数,所有被编辑器识别到的init函数都会在main函数执行前被调用。通常被用来注册一个程序需要使用的依赖,如mysql注册,配置文件加载等。在main包的使用package mainimport "fmt"func main() { fmt.Println("这里是mian")...

2020-01-14 22:41:25 877

原创 go学习笔记-goroutine的好兄弟channel

上一篇介绍了atomic包以及互斥锁 mutex来解决并发竞争状态的问题。这一篇主要来介绍go中与goroutine经常搭档的好兄弟channelchannel不仅可以可以来用消除竞争状态,还可以用于不同的goroutine中进行通信,发送与接受数据。chaanel的定义有两种,分为有缓存与无缓冲创建channelchan1 := make(chan int) // 创建一个无缓冲...

2020-01-11 12:45:25 358

原创 go学习笔记-goroutine竞争状态

如果两个或者多个goroutine在没有相互同步状态的情况下同时访问某个资源,并且同时对这个资源进行读写的时候,对于这个资源就处于相互竞争状态(race candition)。下面来看一个相互竞争的例子。var number intvar wait sync.WaitGroupfunc main() { wait.Add(2) go updateNumber(200...

2020-01-07 22:19:08 1244

空空如也

空空如也

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

TA关注的人

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