首页 administrator 的文章
Golang表示枚举类型的详细讲解

Golang表示枚举类型的详细讲解

枚举,是一种重要的数据类型,由一组键值对组成,通常用来在编程语言中充当常量的标识符。在主流行编程语言如 c、 java 等,都有原生支持。在 go 中,大家却找不到 enum 或者其它直接用来声...

Go应用中优雅处理Error的技巧总结

Go应用中优雅处理Error的技巧总结

前言 Go语言很强大并且现在也十分流行 — 许多项目都是用Go语言来实现的,如Kubernetes。Go语言的一个有趣特性是它的多值返回功能提供了一种与其他编程语言不同的错误处理方法。 Go将err...

Go操作etcd的实现示例

Go操作etcd的实现示例

etcd是近几年比较火热的一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现,本文主要介绍etcd的安装和使用。 etcdetcd介绍 etcd是使用Go语言开发的一个开源的、...

Go语言中sync.Cond使用详解

Go语言中sync.Cond使用详解

sync.Cond 可以用来干什么? Golang 的 sync 包中的 Cond 实现了一种条件变量,可以使用多个 Reader 等待公共资源。 每个 Cond 都会关联一个 Lock ,当修...

Go之集合slice的实现

Go之集合slice的实现

Slice(切片) 切片和数组类似,可以把它理解为动态数组。切片是基于数组实现的,它的底层就是一个数组。对数组任意分隔,就可以得到一个切片。现在我们通过一个例子来更好地理解它,同样还是基于前面的...

详解Golang并发操作中常见的死锁情形

详解Golang并发操作中常见的死锁情形

什么是死锁,在Go的协程里面死锁通常就是永久阻塞了,你拿着我的东西,要我先给你然后再给我,我拿着你的东西又让你先给我,不然就不给你。我俩都这么想,这事就解决不了了。 第一种情形:无缓存能力的管道,自...

golang panic及处理机制

golang panic及处理机制

一 panic机制   panic会将这个异常不断向上抛出,直到有地方处理它,如果有处理,则不会再向上抛出。倘若没有处理,那么最终会导致main挂掉.  golang虽然没有try catc...

Golang并发操作中常见的读写锁详析

Golang并发操作中常见的读写锁详析

互斥锁简单粗暴,谁拿到谁操作。今天给大家介绍一下读写锁,读写锁比互斥锁略微复杂一些,不过我相信我们今天能够把他拿下! golang读写锁,其特征在于 读锁:可以同时进行多个协程读操作,不允许...

golang 语言中错误处理机制

golang 语言中错误处理机制

与其他主流语言如 Javascript、Java 和 Python 相比,Golang 的错误处理方式可能和这些你熟悉的语言有所不同。所以才有了这个想法根大家聊一聊 golang 的错误处理方式,以及...

Go 语言中的死锁问题解决

Go 语言中的死锁问题解决

死锁 死锁的4个条件 不可剥夺 线程已经获得的资源,在未使用完之前,不能被其他线程剥夺,只能在使用完后自己释放。 请求保持 线程 T1 保持了一个资源 R1 占用,但是...