golang的第一个deadlock】的更多相关文章

package main import (     "fmt"     "math/rand" ) func push(c chan []int) {     var slice []int     for num, i := rand.Intn(5)+1, 0; i <= num; i++ {         slice = append(slice, rand.Intn(100))     }     c <- slice } func main()…
这几天深入的研究了一下golang 的协程,读了一个好文 http://mp.weixin.qq.com/s?__biz=MjM5OTcxMzE0MQ==&mid=2653369770&idx=1&sn=044be64c577a11a9a13447b373e80082&chksm=bce4d5b08b935ca6ad59abb5cc733a341a5126fefc0e6600bd61c959969c5f77c95fbfb909e3&mpshare=1&sce…
我们在的项目组呢,有一项工作是,收邮件(很大程度上使用邮件是为了存个底),然后从我们的系统里边查一下相关信息,然后回复个邮件的工作.虽然工作量并不大,但是会把时间切的稀碎.为了拯救我的时间,所以做了一个邮件的值班机器人.让他来顶替我自动回复邮件,考虑到这个东西应该也有不少人会用得到,所以就把这个东西分享出来.先把效果分享出来. 服务器上就很简单,dutyrobot就是Golang编译之后的框架.lua文件夹中就是使用lua编写的业务逻辑.Data.json就是保存了一些相关的数据,防止重启之后,…
本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很灵活的通过中间件的形式添加一些功能到管道中,一次请求和响应在管道中的执行过程如下 首先, 我定义了三个测试的中间件 Middleware1,2,3 如下 func Middleware1(next http.Handler) http.Handler { return http.HandlerFunc(func(w…
转自:https://golangtc.com/t/53cca103320b52060a000030 写了一个可以用 go 来写脚本的工具:gosl 代码和使用说明可以看这里: http://github.com/daviddengcn/gosl Go Search 已经完全用 gosl 来启动了. 相比 bash/Python 写脚本的好处: 纯 Go 语言,没有新的学习成本 引入预先导入的 package 和预定义的内置函数,方便脚本书写 可以无缝的和 Go 项目衔接,例如可以直接读取数据和…
. 海量用户在线聊天系统 . 点对点聊天 . 用户登录&注册 一.服务端开发 . 用户管理 用户id:数字 用户密码:字母数字组合 用户昵称:用来显示 用户性别:字符串 用户头像:url 用户上线登录时间:字符串 用户是否在线:online 数据存储:redis hash:users . 用户动作 . 发送信息 . 接收信息 . 用户注册&登录 . 用户消息离线存储 二.客户端开发 . 用户注册 . 用户登录 . 发送信息 . 获取用户列表 三.通信协议 [:]表示长度 []json…
代码记录 程序结构目录 --------程序包 package balance type Balancer interface { DoBalance([]*Instance, ...string) (*Instance, error) } balance.go package balance import ( "strconv" ) type Instance struct { host string port int } func NewInstance(host string,…
废话少说上code, 这个是从当前日期开始,往后增加一个月时间 package main import ( "fmt" "time" ) func main() { var tt int64 = 1512230400 ts := time.Unix(tt, 0) tst := ts.AddDate(0, 1, 0) fmt.Println(ts) fmt.Println(tst) }…
在项目中的go.mod文件中有这样一句: require ( github.com/xxx-devops/xx1/sdk/go v2.2.3 ) 项目的编译没有问题,但是goland中出现如下提示: go: errors parsing go.mod: D:/source/github/ahfuzhang/go.lib/go.mod:8: require github.com/xxx-devops/xx1/sdk/go: version "v2.2.3" invalid: module…
这个其实不是错误,2个写法没有区别.-2015.11.22 认识golang也不少时间了,也做过几个项目.最近发现之前用golang写的一个服务,内存涨得比较快,一直没找出来原因来.今天把疑惑发到群里,经过golang学习班的童鞋的指点,发现我一个常用的错误. 在不少golang入门的文章上,用并发的例子一般是这样写的: package main import ( "fmt" "time" ) func main() { messages := make(chan…