最近看了一篇关于go产品开发最佳实践的文章,go-in-procution。作者总结了他们在用go开发过程中的很多实际经验,我们很多其实也用到了,鉴于此,这里就简单的写写读后感,后续我也争取能将这篇文章翻译出来。...
分类:
其他好文 时间:
2014-05-13 09:15:53
阅读次数:
349
package mainimport ( "fmt" "sync")var wg
sync.WaitGroupfunc asyncTestFunc() { for i := 0; i < 100; i++ {
fmt.Println(i) } wg.Don...
分类:
其他好文 时间:
2014-05-10 05:35:55
阅读次数:
286
Golang开发环境搭建 Notepad++、LiteIDE两种方式
martini框架的使用...
分类:
其他好文 时间:
2014-05-07 03:02:54
阅读次数:
289
前一篇文章我们看到了Golang标准库中log模块的使用,那么它是如何实现的呢?下面我从log.Logger开始逐步分析其实现。其源码可以参考官方地址1.Logger结构首先来看下类型Logger的定义:typeLoggerstruct{
musync.Mutex//ensuresatomicwrites;protectsthefollowingfields
prefixs..
分类:
其他好文 时间:
2014-05-06 17:10:28
阅读次数:
1024
Golang的标准库提供了log的机制,但是该模块的功能较为简单(看似简单,其实他有他的设计思路)。不过比手写fmt.Printxxx还是强很多的。至少在输出的位置做了线程安全的保护。其官方手册见Golanglog(天朝的墙大家懂的)。这里给出一个简单使用的例子:packagemain
import(
"log"..
分类:
其他好文 时间:
2014-05-05 12:22:27
阅读次数:
20583
直接贴代码func sliceModify(slice []int) { //
slice[0] = 88 slice = append(slice, 6)}func main() { slice := []int{1, 2, 3, 4,
5} sliceModify(sli...
分类:
其他好文 时间:
2014-05-03 23:17:56
阅读次数:
393
BufferGo标准库Buffer是一个可变大小的字节缓冲区,可以用Wirte和Read方法操作它,在Go标准库中,定义了如下关于Buffer的数据结构。typeBufferstruct{
buf[]byte//contentsarethebytesbuf[off:len(buf)]
offint//readat&buf[off],writeat&buf[len(buf)]
runeBytes[utf8...
分类:
其他好文 时间:
2014-05-03 01:30:02
阅读次数:
539
如果你成天与编程为伍,那么并发这个名词对你而言一定特别耳熟。需要并发的场景太多了,例如一个聊天程序,如果你想让这个聊天程序能够同时接收信息和发送信息,就一定会用到并发,无论是那是什么样的并发。
并发的意义就是:让一个程序同时做多件事情!
理解这一点非常重要,是的,并发的目的只是为了能让程序同时做另一件事情而已,并发的目的并不是让程序运行的更快(如果是多核处理器,而且任务可以分成相互独立...
分类:
其他好文 时间:
2014-04-29 13:32:21
阅读次数:
378