![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
文章平均质量分 78
fighterlyt
这个作者很懒,什么都没留下…
展开
-
介绍Go竞争检测器
原文连接http://blog.golang.org/race-detector介绍:竞争条件是最狡诈的、最难以找到的编程错误。通常,在代码被布置到生产环境很久以后,它们才会出现并且造成奇怪的、神秘的错误。尽管Go语言的并发机制使得更容易的编写出干净的并发代码,依然无法避免竞争条件的出现。小心、勤勉以及测试是必须的。工具也可以提供帮助。我们很高兴的宣布Go1.1包含了一个竞争检测器,一翻译 2013-11-01 23:30:51 · 1626 阅读 · 0 评论 -
Arrays,slices (and strings): The mechanics of 'append'
Arrays,slices (and strings): The mechanics of 'append'介绍过程式编程语言中,一个最常见的特性就是数组这个概念。数组看起来很简单,但是把它们加入语言时有很多问题需要考虑啊,例如:大小固定还是可变?大小是否是类型的一部分?多维数组看起来是什么样子?空数组有含义吗?这些问题的答案影响到一个决策,数组翻译 2013-11-02 20:25:13 · 638 阅读 · 0 评论 -
container包中的三个数据类型(-)
Golang在container包中提供了三个常用的数据类型,Ring,Heap,List。这一篇文章简单谈谈List使用import "container/list"来导入这个包,该包定义了List类型,是一个元素可以为任意类型的双链表。List类型并未导出任何字段,其元素类型为Element。 List表示一个双链表,其零值表示一个可用的链表 使用l原创 2013-11-17 09:35:19 · 800 阅读 · 0 评论 -
Go的reflect机制和reflect包
Go的reflect机制和reflect包概述虽然Go是静态语言,然而还是提供了reflect机制,并且定义了reflect包来辅助反射处理。在reflect包中,最重要的两个类型就是Type和Value,分别从类型、值的角度来描述一个Go对象。Type类型是一个接口,这个接口实现了String() string方法。Value类型是一个结构,但是并未定义任何导出字段,同样定义了Str原创 2013-12-16 21:04:47 · 3395 阅读 · 0 评论 -
生成全排列---reflect包的一个应用
生成全排列---一个reflect包的应用在测试函数时,经常需要生成一个全排列,确保函数可以正确处理所有的输入情况,Go语言的特性以及reflect包的存在,使得在Go语言中实现这样的功能非常容易。 输入:使用NewPerm()函数来生成一个PermatatorNewPerm(k interfac{],less Less) (*Permutator,error)我们选择使用原创 2013-12-16 18:44:03 · 1171 阅读 · 0 评论 -
用于同步时通道和mutex的区别
用于同步时通道和mutex的区别 通道是Go语言内建的特性之一,用来在程序内部传输数据,很容易用于同步目的。比如构建一个缓存为1的channel c:=make(chan bool,1)`,当需要独占的获得时,就可以,而要释放时,执行c。Mutex是sync包定义的一个类型,实现了互斥锁,定义了Lock()/Unlock()方法来获得/释放锁.从功能角度看,使用通道原创 2013-12-23 13:48:04 · 662 阅读 · 0 评论