Go语言中文网 为您找到相关结果 9

golang中timer定时器实现原理

一般我们导入import ("time")包,然后调用time.NewTicker(1 * time.Second) 实现一个定时器: func timer1() { timer1 := time.NewTicker(1 * time.Second) for { select { case <-timer1.C: xxx() //执行我们想要的操作 } } } 再看看timer包中NewTicker的具体实现: func NewTicker(d Duration) *Ticker { if d <= 0 { panic(errors.New("non-positive interval for NewTicker")) } // Give the channel a 1-element ti...阅读全文

博文 2015-07-28 15:00:01 webyh

Go语言导出excel文件(.xlsx)

网上有许多关于导出excel的资料,其中最多的就是创建一个新的.xlsx文件(.xls库不提供写入的功能)。但是这种情况下导出的excel往往比较难看,另一种情况就是打开一个模板,往里面填充东西,往往首行固定。 第一种方法(直接创建) package main import ( "github.com/tealeg/xlsx" ) func main() { file := xlsx.NewFile() sheet := file.AddSheet("Sheet1") row := sheet.AddRow() row.SetHeightCM(1) //设置每行的高度 cell := row.AddCell() cell.Value = "haha" cell = row.AddCell()...阅读全文

博文 2015-11-06 17:00:11 dengpei187

Go与MongoDB通信(简洁版)

首先导入mgo库. import ( "labix.org/v2/mgo" "labix.org/v2/mgo/bson" ) 声明DB var DB_dbs *mgo.Database 声明Collection var DB_dbUserList *mgo.Collection 连接数据库 session, err := mgo.Dial("127.0.0.1") 选择use的DB DB_dbs = session.DB("JLTX") 选择对应的Collection DB_dbUserList = DB_dbs.C("userlist") 到此为止.就可以进入表操作了.读过mongo权威指南的话.您只要会...阅读全文

【有人@你】双11最时髦的消费 全宇宙的程序猿一起来HIGH

每一年,都在为媳妇买、买、买的程序猿,终于迎来了属于自己的狂欢盛宴。 没错,今年双11,阿里云会拿出若干爆款,让小伙伴们一起来high。 红包、折扣、秒杀、全场产品优惠、中奖100%…… 如何玩转阿里云双11,流量够不够都要往下拉! 1、双11当天,00:30、10:30、14:30,三场秒杀活动,云服务器ECS、云数据库RDS、弹性安全网络全部一折秒杀来袭。 2、双11当天单笔实付满1000元,即可参与抽奖,百发百中哦! 3、在校大学生双11当天享受云服务器ECS 9.9元/月+39.9元的云计算在线课程,理论+实践,才是硬本领。 4、只需实名认证,即日起登陆阿里云双11会场就能抢红包,红包最高1111元,100%中奖不掺水。 5、无论企业或个人,认证后即...阅读全文

Go 语言中 channel 使用总结

Go 语言中的 channel 是实现 goroutine 间无锁通信的关键机制,他使得写多线程并发程序变得简单、灵活、触手可得。下面就个人理解对 channel 使用过程中应该注意的地方进行一个简要的总结。 channel 分类: 不带缓存 channel, 带缓存 channel (1)不带缓存 channel 语法: (a)创建channel make(chan type) e.g. ch := make(chan int) (b)通信方式(由于chan操作类似于Queue,为便于理解这里用EnQueue,DeQueue来描述通信操作) EnQueue: ch <- typevar DeQueue: var := <- ch e.g. ch <- 1 v := <-ch 关键: 调用c...阅读全文

博文 2015-06-17 23:00:51 u013148156

Go语言下与MongoDB通信-使用mgo

Go语言下与MongoDB通信-使用mgo 分类: MongoDB2013-08-28 15:52 1585人阅读 评论(0) 收藏 举报 最近写游戏服.用的全是新货.go语言+mongodb.嘿嘿. 关于mgo如何使用就不详细说了.官网上写的很清楚.这块就说说怎么用. 首先导入mgo库. import ( "labix.org/v2/mgo" "labix.org/v2/mgo/bson" ) 声明DB var DB_dbs *mgo.Database 声明Collection var DB_dbUserList *mgo.Collection 连接数据库 session, err := mgo.Dial("127.0.0.1") 选择use的DB DB_dbs = session.DB(...阅读全文

博文 2015-06-17 23:01:27 newsyoung1

make(chan int) 和 make(chan int, 1) 的区别

弄懂了下面的这个例子你就懂了 package main import "fmt" func main() { var c = make(chan int) var a string go func() { a = "hello world" <-c }() c <- 0 fmt.Println(a) } 上面的例子会打印 "hello world" 如果改成 var c = make(chan int, 1) a 可能是 "hello world" 也可能是空,我运行了好多次基本打印的都是空 make(chan int) 是 unbuffered channel, send 之后 send 语句会阻塞执行,直到有人 receive 之后 send 解除阻塞,后面的语句接着执行。 所以执行 c...阅读全文

博文 2019-02-14 09:39:26 lesliefang

Go语言下与MongoDB通信-使用mgo

最近写游戏服.用的全是新货.go语言+mongodb.嘿嘿. 关于mgo如何使用就不详细说了.官网上写的很清楚.这块就说说怎么用. 首先导入mgo库. import ( "labix.org/v2/mgo" "labix.org/v2/mgo/bson" ) 声明DB var DB_dbs *mgo.Database 声明Collection var DB_dbUserList *mgo.Collection 连接数据库 session, err := mgo.Dial("127.0.0.1") 选择use的DB DB_dbs = session.DB("JLTX") 选择对应的Collection DB_dbUserList = DB_dbs.C("userlist") 到此为止.就可以进...阅读全文

博文 2015-06-17 23:01:29 spiritring

golang中encoding/pem包

1、golang中pem包是什么? 2、golang中的pem包为我们开发者提供了哪些功能? 3、我们可以用pem包做什么?以及怎么使用代码实现? 一、golang中pem包是什么? 官方标准库给出的解释:pem包实现了PEM数据编码(源自保密增强邮件协议)。目前PEM编码主要用于TLS密钥和证书。参见RFC 1421 也就是这个包实现了对PEM解码,以及进行PEM编码 我们不必关心PEM格式的数据长怎么样,只要关注怎么将其他格式数据转换成PEM格式数据,以及将PEM格式数据转换成其他格式数据。如果需要了解PEM是什么,可以阅读RFC 1421文档。 二、golang中的pem包为我们开发者提供了哪些功能? 根据前面分析出来的内容,可以知道分为两个内容,分别是对数据进行PEM编码和解码。也就...阅读全文

博文 2018-12-11 03:34:42 laijh