golang并没有在语言层次上提供超时操作,但可以通过一些小技巧实现超时。 原理: 并发一个函数,等待1s后向timeout写入数据,在select中如果1s之内有数据向其他channel写入则会顺利执行,如果没有,这是timeout写...
分类:
其他好文 时间:
2014-10-01 13:55:31
阅读次数:
150
package?main?
import?(
"fmt"
"sync"
"runtime"
)
var?counter?int?=?0
func?Count(lock?*sync.Mutex)?{
lock.Lock()
counter++
fmt.Println(counter)
lock.Unlock()
}
func?main()?{
lo...
分类:
其他好文 时间:
2014-10-01 00:32:30
阅读次数:
389
package?main?
import?"fmt"
type?IReader?interface?{
Read(file?string)?[]byte
}
type?IWriter?interface?{
Write(file?string,?data?[]byte)
}
//?接口组合,?这些默认就继承了Reader和...
分类:
其他好文 时间:
2014-09-30 01:10:22
阅读次数:
353
[GO安装] 本来采用 sudo apt-get install golang 安装,后来发现这样装下来是go1版本,这样后面在编译go-sql-driver插件会有问题。 后来参考参考资料2中所说,从http://www.golangtc.com/download下载对应平台的包...
分类:
数据库 时间:
2014-09-29 12:51:31
阅读次数:
207
一、舞动的快速排序在实现排序算法前,先让我们来欣赏一段关于快速排序的视频,本段视频展示了快速排序的原理,如果没有看懂,请看完本文后再回头来看一下,应该就明白了吧。 O(∩_∩)O~二、快速排序实现2.1 快速排序基础版通过下面一组数据,将最左边的数设定为轴,并记录其值为 s。(注意:*表示要交换的数...
分类:
其他好文 时间:
2014-09-25 21:27:57
阅读次数:
221
package?main
import(
????//"fmt"
????"time"
)
var?c?=?make(chan?int,100)
func?gofunc(){
????time.Sleep(0)
????c<-0
}
func?main(){
????for?i:=0;i<10;i++{
???????...
分类:
其他好文 时间:
2014-09-25 12:21:09
阅读次数:
264
1.新建文件后再删除失败,提示文件正在被另一程序使用中(The process cannot access the file because it is being used by another process.) func main() {
NewConfigIni()
DeleteConfigTemp()
}
func Delet...
分类:
其他好文 时间:
2014-09-23 16:35:45
阅读次数:
183
1 package src 2 3 import ( 4 "bytes" 5 "compress/gzip" 6 ) 7 8 func GzipEncode(in []byte) ([]byte, error) { 9 var (10 buffer by...
分类:
其他好文 时间:
2014-09-21 18:36:50
阅读次数:
544
记得开始学习golang的时候,boss给我发了一篇paper,讲的是函数式编程,那个时候看了一遍,懵懵懂懂,只有一个感觉,函数式编程怎么好像讲的都是数学公式(说句实话,我那个时候还真不理解boss为什么给我发那篇paper,只是想反正多看点东西总不会错)?最近一段时间,go用的比较多,业务逻辑让我...
分类:
其他好文 时间:
2014-09-17 20:04:02
阅读次数:
271
动手写点东西是学习新知识很重要的一个阶段。之前用 Python 和 JavaScript 实现优化算法,现在用 Golang 来实现。语法上略有不爽,某些C语言的思维又回来了。
分类:
其他好文 时间:
2014-09-17 10:05:21
阅读次数:
283