最近一直在组织公司内的Go语言培训课,为了拉动大家的学习兴趣,设计了一个以”挖矿”为主题的课后作业,反响非常热烈: 继续阅读
分类目录归档:GO
Golang自定义JSON序列化
在Go语言中,我们可以很方便的使用标准库encoding/json进行结构体的(反)序列化,它会自动帮我们解析嵌套的structs,以及内部的string、int、map等基本类型,但对于某些特殊类型就不是那么好用了。 继续阅读
开源我的go-raft实现
经过一个阶段的MIT6.824课程学习,我将Raft实现进一步工程化,并将代码放在了这里: 继续阅读
当我们封装Go MVC框架时需要注意什么?
在公司推行Go框架web开发已经很长一段时间了,最近随着业务方越来越多,发现框架设计的部分不合理性,下面简单说明。 继续阅读
golang创建大量线程的问题分析
背景是我们在公司造了一个Go web框架,性能也非常优异。 继续阅读
k8s集群中golang线程数过多的问题
问题背景是这样的: 继续阅读
golang – iptables REDIRECT获取原始目标地址
之前我利用redsocks项目,在网关上实现了透明SOCKS5代理。 继续阅读
golang – 关于字符编码
不同语言在编码处理的部分各有不同,但是套路基本就2种。 继续阅读
golang – json编码error为空的问题
你有没有遇到过json编码error为空的情况?我们一起看一下。
首先我们知道error是一个interface,需要实现一个Error()方法返回错误描述字符串。 继续阅读
golang – 利用json-iterator库兼容解析PHP JSON
很多Gopher是从PHP转过来的,在重构代码到GO的过程中一定会遇到JSON解析的问题。 继续阅读
基于docker multi-stage分离Golang编译与运行时镜像
在没有docker技术之前,我们利用Jenkins实现CI/CD的时候,代码是在Jenkins宿主机上完成编译的。
这样不同的Jenkins构建任务之间就缺乏良好的隔离性,可能A项目需要Golang1.12版本,而B项目需要Golang1.13版本,这样宿主机就很不方便同时满足两者。 继续阅读
golang – waitgroup用法示例
最近的博客会陆续写一些Golang的简单内容,分享一些常见的用法和经验。
[开源myf-go] 基于gin和gorm的企业级MVC框架
最近在公司内封装的go mvc框架代码接近收尾,核心功能与大部分常用SDK均以实现,压测效果也符合预期,所以我整理了一下整个框架的代码,将一个可直接运行的版本分享给大家做学习使用。 继续阅读
golang – middleware设计模式
在开发框架中应用了大量的设计模式,其中middleware中间件模式就是一种常见的实用模式。
下面通过一个简短的例子,给大家分享一下如何实现中间件模式。 继续阅读
golang – 利用recover捕获panic异常
在我们开发golang程序时,很难保证研发同学不会写出”访问空指针”或者”除0″之类的错误代码逻辑。 继续阅读
golang – reflect反射原理与示例
最近封装功能发现不得不用到reflect反射,所以找了一些资料学习了一下。
下面我以一个具体的例子,带大家了解真实场景中的反射用法,并且说明反射的核心思路。 继续阅读
基于context扩展gin框架
大家用过gin的话,应该了解gin框架是通过一个叫做*gin.Context的对象传递请求数据的,一个简单的例子如下: 继续阅读
go modules用法
自从go 1.11开始,go modules已经可以使用,各大开源项目都在迁移中,未来glide、godep等工具均将成为过去式,现在学习正是时候。
beego web框架学习
golang结构体标签与反射
本文对golang反射做了一些尝试,整理了一些关键理解。 继续阅读