go
jiaolongdy
这个作者很懒,什么都没留下…
展开
-
Go中nil
由于Go中interface会同时存储类型和值,如果将一个nil对象赋值给一个interface,这个interface为非nil。原创 2015-11-13 13:16:38 · 2791 阅读 · 0 评论 -
golang 非阻塞channel
golang中虽然有带缓冲的channel,但是并没有无限缓冲的channl,本文整理汇总当前一些实现方式文章目录[Building an Unbounded Channel in Go](https://medium.com/capital-one-tech/building-an-unbounded-channel-in-go-789e175cd2cd)[Unbounded Queue: A...原创 2018-12-21 16:56:34 · 1127 阅读 · 0 评论 -
Go 单例模式
最近几年go语言的增长速度非常惊人,吸引着各界人士切换到Go语言。最近有很多关于使用Ruby语言的公司切换到Go、体验Go语言、和Go的并行和并发解决问题的文章。过去10年里,Ruby on Rails已经让众多的开发者和初创公司快速开发出强大的系统,大多数时候不需要担心他的内部是如何工作的,或者担心线程安全和并发。RoR进程很少创建线程和并行的运行一些东西。整个托管的基础建设和框架栈使用不同...转载 2018-03-05 20:35:18 · 1205 阅读 · 1 评论 -
Golang的位运算操作符
& 位运算 AND| 位运算 OR^ 位运算 XOR&^ 位清空 (AND NOT)<< 左移>> 右移位运算符对整数在内存中的二进制位进行操作,由于其具有运算速度快的特点,经常被用于性能优化。& 位运算 AND将两个数对应的二进制进行与操作| 位运算 OR将两个数对应的二进制进行或操作...原创 2018-03-11 12:42:42 · 3527 阅读 · 0 评论 -
golang program exceeds 10000-thread limit
这个问题是因为golang在执行`syscall.Syscall`的时候,会创建新的线程,当并发大的时候不断创建线程,导致线程数超过限制。建议:1. 降低系统调用的并发2. 使用[SetMaxThreads](https://golang.org/pkg/runtime/debug/#SetMaxThreads)增加线程阀值,**但是不建议这样使用**。原创 2017-08-03 17:20:19 · 2208 阅读 · 0 评论 -
godep更新提示no packages can be updated
使用godep更新的时候,同一个项目下的目录更新不完整,只有一部分的包更新了,另外一部分没有更新。使用godep update提示no packages can be updated解决方法:删除vender目录下的项目文件夹将最新的项目文件拷贝到vender目录下重新执行godep update a/b/...参考:https://github.com/tools/godep/issues原创 2017-07-11 12:07:47 · 1532 阅读 · 0 评论 -
golang import使用
go import 相对路径 绝对路径 别名原创 2017-03-04 17:58:48 · 3393 阅读 · 0 评论 -
go打印堆栈
在调试go程序的过程中,可能会出现重复关闭chan的情况,可能会有多个路径执行关闭操作,为了确定操作路径可以使用runtime/debug包中的PrintStack()打印堆栈,最后确定具体的执行路径。参考代码如下[1]:package mainimport ( "runtime/debug")func main() { defer func() { if err原创 2016-02-14 14:59:04 · 3114 阅读 · 0 评论 -
go中的闭包
闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)。在程序设计中,对象是附有行为的数据,而闭包是附有数据的行为。 可以将闭包看成一个类,其以函数的方式执行,执行的过程中可以改变其引用环境。例如在main函数中,我们相当于创建了两个独立的闭包,两个闭包执行的过程中都改变了各自的引用环境。原创 2015-12-06 21:45:03 · 815 阅读 · 0 评论 -
golang expected declaration, found 'IDENT'
Golong 中 := 的使用原创 2015-11-27 16:15:16 · 8104 阅读 · 0 评论 -
Go语言中的时间格式
在Go语言中20060102时间格式的来源原创 2015-11-16 14:01:12 · 1065 阅读 · 0 评论 -
[翻译]十条有用的 GO 技术
十条有用的 Go 技术 在实际编码中可以用到的经验,值得借鉴。翻译 2015-11-14 15:02:20 · 805 阅读 · 0 评论 -
Go语言反射规则 - The Laws of Reflection
Go语言反射规则 - The Laws of Reflection 反射在计算机的概念里是指一段程序审查自身结构的能力,主要通过类型进行审查。它是元编程的一种形式,同样也是引起混乱的重大来源。在这篇文章里我们试图阐明Go语言中的反射是如何工作的。每种语言的反射模型是不同的(许多语言不支持反射),然而本文只与Go有关,所以我们接下来所提到的“反射”都是指Go语言中的反射。转载 2015-11-13 10:35:27 · 1337 阅读 · 0 评论 -
Golang中耗时统计监控
定义prometheus统计变量import "github.com/prometheus/client_golang/prometheus"var XXXCost prometheus.Histogramfunc init() { XXXCost = prometheus.NewHistogram( prometheus.HistogramOp...原创 2019-01-18 09:07:25 · 5646 阅读 · 0 评论