golang
文章平均质量分 67
焗个面包
没有人在年少的时候想做个普通人
展开
-
beego搭建个人博客(二)
今天基于 beego搭建个人博客(一)把博客的后台管理的部分完成了,然后我的逻辑不一定是最合适的,可能写的比较乱,大家可以根据源代码分支https://github.com/lightTrace/beego-blog/tree/blog-dev1来自己搭建后台效果: 一 models分类model,category .gopackage modelsimport "time"...原创 2018-03-29 21:02:56 · 3449 阅读 · 11 评论 -
golang并发channel使用sync.WaitGroup保证所有协程结束并处理额外业务
问题描述假如一个http请求是很多的数组id,服务端拿到数组id去执行业务,但是这个业务执行的时间教长,肯定不能循环执行,要让golang的多协程发挥作用,但是我想对某些id返回的结果做特殊处理,必须保证所有的协程都跑完了才能返回结果,我发现将id放进channel然后多个协程去消费思路是正确的,但是要保证所有的协程精确的跑完,用sync.WaitGroup挺合适的,也许还有更好的办法,但是这是...原创 2019-01-09 16:01:54 · 1453 阅读 · 0 评论 -
logrus hook输出日志到本地磁盘
logrus是go的一个日志框架,它最让人激动的应该是hook机制,可以在初始化时为logrus添加hook,logrus可以实现各种扩展功能,可以将日志输出到elasticsearch和activemq等中间件去,甚至可以输出到你的email和叮叮中去,不要问为为什么可以发现可以输入到叮叮中去,都是泪,手动笑哭!言归正传,这里就简单的通过hook机制将文件输出到本地磁盘。首先go get ...原创 2018-09-30 14:30:14 · 8780 阅读 · 2 评论 -
go调用python报错pkg-config: exec: "pkg-config": executable file not found in %PATH%
我开始是在windows环境下直接go get github.com/sbinet/go-python会报错pkg-config: exec: “pkg-config”: executable file not found in %PATH%后来查网上资料无果,全是复制粘贴一个人的,我只好看官方文档和报错来解决问题。官方文档写的是If go get + pkg-config failed...原创 2018-09-27 20:30:35 · 10635 阅读 · 6 评论 -
go的协程及channel与web开发的一点小实践
前言之前在网上看go的协程和channel的东西,感觉都是一个main方法闯天下,并没有很好的体会到channel的美妙,然后自己花了点时间写了一点简单的demo,然后不断的变换,去看效果和输出。思路我用channel去实现产生累积的web请求,然后用sleep去休眠消费者协程造成处理业务场景的假象,然后开多个消费者协程去处理web请求。代码package mainimport (...原创 2018-10-11 20:54:13 · 1120 阅读 · 0 评论 -
go使用grpc
前言最近需要使用grpc框架,然后到网上找资料,在此我强烈鄙视那些复制粘贴的家伙,第一步就错了go get google.golang.org/grpc 这个根本安装不起,是官方将代码迁移了,会报错:package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc"(https fetch...原创 2018-09-26 19:35:35 · 2537 阅读 · 1 评论 -
go实现简易分布式系统
go实现简单分布式系统原创 2018-04-05 14:57:45 · 12365 阅读 · 0 评论 -
用go实现并发聊天室
go routine实现聊天室原创 2018-04-09 23:51:15 · 2703 阅读 · 0 评论 -
beego搭建个人博客(一)
上次我准备用Java的ssm框架来搭建一个博客系统,我觉得后来觉得Java实在太罗嗦了,贼多的配置文件。最近接触了go的web开发,框架有beego,gin、revel以及iris,beego虽然很重量级,性能也差iris太远,但是它对国人的学习是十分有好的,首先它的作者是国人,理念呢也还是参照传统的mvc概念,加上详尽的文档是一个非常好的入门go web的框架,所以我决定使用beego搭建一个个...原创 2018-03-25 12:13:55 · 20987 阅读 · 14 评论 -
小例子全方位感受go通道Channels
golang channels 通道原创 2018-03-20 23:50:42 · 1690 阅读 · 1 评论 -
golang并发资源的竞争
go是通过协程goroutine来实现并发的,goroutine创建短小轻量级的开销让人确实着迷,它屏蔽了OS层面多线程的操作,如果写过Java代码我们知道并发程序的设计和要考虑到的问题是多么让人头疼了,当然并不是说Java不好,而且Java现在通过某种手段也能实现类似goroutine的功能,语言本身不重要,重要的是它实用的场景,关于Java和Go的长处短处这里也不展开了,但是可以知道一点只要有...原创 2018-03-20 13:16:10 · 1780 阅读 · 0 评论 -
golang遍历channel时return问题
今天我在遍历channel里的数据的时候加入了业务代码,业务代码里有return,一但return之后遍历就停止了,例如:package mainimport ( "fmt" "sync" "time")func consumer(cname string, ch chan int) { //可以循环 for i := range ch 来不断从 channel 接...原创 2019-01-15 17:01:46 · 1026 阅读 · 0 评论