Posted on 2014-03-05 22:44:56 golang
下面的总结是最近Golang开发中遇到的,和互联网上搜集到的坑,会持续更新:
字符串不是以\x0
结束作为判断的
无锁队列只是在单核下,多核同样需要锁,需要线程间调度
格式化时间字符串只能用2006 01 02 15 04 05
(时间原点), 并且在time/format.go
写死了:
2006-01-02T15:04:05Z07:00
其实这是有意义的,每个字段正好对应:
1 2 3 4 5 6 7
月 日 时 分 秒 年 时区
当多个channel都处于就绪状态时,激活channel是随机的,不能按照顺序判断
os.exit(1)
执行后,defer是没有作用的
Goroutine只有非阻塞的IO调用阻塞时,才会发生Goroutine切换,如果是系统调用:
Golang会直接启动内核级线程
,来实现异步。。。所以避免大量启动系统调用。。。
内存泄漏的一个坑 如果你的代码中出现这样,恭喜你,你已经在坑里。
func somefunc() {
for {
// ...
defer something.Cleanup()
}
}
原因是这里的defer没有机会被执行到。 简单的解决办法是将这里的逻辑放到一个方法中去。
Provides world-class entertainment and supports the recognition of the Philippines’ aspiring athletes!!! Want to know more about the site? visit here —>> online casino games