Go
文章平均质量分 72
kingeasternsun
向linus致敬!
展开
-
《The.Go.Programming.Language.2015.11》之 reflect
判断reflectValue类型并提取数据 addressable 获取结构体方法的名称原创 2016-09-18 11:00:07 · 517 阅读 · 0 评论 -
golang通道中传递slice数据的入坑经验
背景错误代码原因分析修改方案1修改方案2原创 2017-06-05 09:51:13 · 3721 阅读 · 1 评论 -
你可能不知道的关于golang 的10件事情
匿名结构体命令行 go doc在同一个channel上进行读写操作利用close来向其他goroutine广播利用nil通道的特性后记原创 2017-07-06 15:05:17 · 1352 阅读 · 0 评论 -
golang web开发 Handler测试利器httptest
test是golang语言的一部分,golang提供了非常强大的测试方法。单元测试,压力测试可以参见 golang 1.7之后高级测试方法之子测试,子基准测试(subtest sub-benchmarks)我们用go开发一个Web Server后,打算单元测试写的handler函数,在不知道httptest之前,使用比较笨的方法 就是编译运行该Web Server后,再用go编写一个客户端程...原创 2017-10-16 11:43:23 · 7828 阅读 · 0 评论 -
gRPC golang开发指南
为什么使用gRPC样例代码和环境的建立样例测试服务定义生成客户端和服务端代码创建服务端实现RouteGuideSimple RPCServer-side streaming RPCClient-side streaming RPCBidirectional streaming RPCStarting the serverCreating the client创建客户端Ca原创 2017-07-03 16:02:21 · 4286 阅读 · 0 评论 -
golang 正则匹配regexp接口实战学习
总览如果不熟悉正则表达式的语法的话,可以执行下面命令:go doc regexp/syntax联系代码package mainimport ( "fmt" "regexp")func expandTest() { pat := `(((abc.)def.)ghi)` reg := regexp.MustCompile(pat) fmt.Println(reg原创 2017-10-12 08:55:09 · 8399 阅读 · 0 评论 -
golang 1.7之后高级测试方法之子测试,子基准测试(subtest sub-benchmarks)
介绍在go1.7之后,testing包T和B的引入了一个Run方法,用于创建subtests 和 sub-benchmarks. subtests 和 sub-benchmarks可以让开发者更好的处理测试中的失败,更好的控制运行哪个测试用例,控制并行测试操作,测试代码更加简洁和可维护性更强。Table-driven tests 基础首先我们先讨论下Go中常见的测试代码编写方式。一系列相关的测试校验原创 2017-10-12 08:57:47 · 4014 阅读 · 0 评论 -
go语言常见陷阱
go语言常见陷阱(英文原文)[https://deadbeef.me/2018/01/go-gotchas]Range在golang中我们经常用range来遍历slice或chan,如果要更改slice中的成员应该怎么做?下面代码要把动物园中所有动物的腿变为999type Animal struct { name string legs int}func main() { zo翻译 2018-01-03 15:09:45 · 1232 阅读 · 0 评论 -
服务器开发利器golang context用法详解
背景Context结构继承的ContextBackGroundWithCancelwithDeadline withTimeout搜索测试程序WithValuego doc中的信息后记原创 2017-06-29 17:12:52 · 3720 阅读 · 0 评论 -
golang.org/x/time/rate 使用说明
type Limiterfunc NewLimiterfunc Limiter Allowfunc Limiter AllowNfunc Limiter Reservefunc Limiter ReserveNfunc Limiter Waitfunc Limiter WaitN测试 AllowN原创 2017-06-28 16:39:03 · 6263 阅读 · 1 评论 -
《The.Go.Programming.Language.2015.11.pdf》之map和结构体
map在go语言中,map是一个hash 表的引用。 map的声明 ages := make(map[string]int) // mapping from strings to ints ages := map[string]int{ "alice": 31, "charlie": 34, }元素的访问 ages["alice"]原创 2016-11-11 09:48:49 · 603 阅读 · 1 评论 -
Go 编程学习路线
安装IEDvscode atom subl 插件安装错误总结入门 go by example the way to go go web 编程 豆瓣 提升书籍《The.Go.Programming.Language.2015.11.pdf》 豆瓣9.1《Go in Action》 豆瓣7.2《Manning.Go.in.Practice.2016.8.pd原创 2016-09-12 17:05:38 · 4430 阅读 · 1 评论 -
《The.Go.Programming.Language.2015.11.pdf》之函数缓存实现
串行的实现 利用go并行执行 添加互斥锁 最终方法1使用指针标记 最终方法2使用客户端服务器模型原创 2016-09-23 08:42:36 · 865 阅读 · 0 评论 -
《The.Go.Programming.Language.2015.11》之Goroutines
并行处理图片并等待全部图片处理结束限定并发数量复用select互斥锁syncOnce解决的方法1使用互斥锁解决方法二 使用读写锁解决方法三 使用syncOnce并行处理图片并等待全部图片处理结束func原创 2016-09-19 09:00:10 · 563 阅读 · 0 评论 -
Go开发环境插件安装提示错误总结
ATOMATOM 安装运行ATOM 提示gocode安装失败ATOM 提示open dlv安装失败ATOM 提示 GOPATH not setATOM 插件atom-ctagsVSCODE提示GOPATH not set提示GOPATH entry is relative错误guruATOMATOM 安装运行配置ATOM Go开发环境 安装script插件,可以直接在ATOM运行原创 2016-09-19 11:11:23 · 24793 阅读 · 0 评论 -
xorm常用编程方法总结
官方文档Get方法1 根据Id来获得单条数据2 根据Where来获得单条数据3 根据user结构体中已有的非空数据来获得单条数据Find方法1 传入Slice用于返回数据2 传入Map用户返回数据map必须为mapint64Userinfo的形式map的key为id因此对于复合主键无法使用这种方式3 也可以加入各种条件Count方法执行SQL命令原创 2016-09-28 09:26:29 · 8870 阅读 · 0 评论 -
ubuntu /elementary os下vscode 配置go开发环境
安装go配置环境变量设置权限设置GOPATH安装vscode go安装delve原创 2016-10-13 09:12:18 · 5528 阅读 · 0 评论 -
《The.Go.Programming.Language.2015.11.pdf》之数组和切片
1数组数组的声明和初始化数组成员的访问数组的比较数组作为函数参数2切片append函数利用append实现特殊函数原创 2016-10-26 16:21:01 · 867 阅读 · 0 评论 -
《The Way To Go : A Thorough Introduction To The Go Programming Language》之数组切片
数组声明和初始化切片函数将切片作为参数make创建切片for rangeappend copystring 切片改变string中的字符apped实现的操作数组声明和初始化声明数组时使用的长度必须是一个常量。var identifier [len]type数组中保存的数据类型必须一致,如果要用数组保存不同类型的数据类型,要使用interface{},然后在访问每一个成员时使用类型原创 2016-10-27 10:24:24 · 597 阅读 · 0 评论 -
基于golang从头开始构建基于docker的微服务实战笔记
参考博文part 1 利用gRPC protobuf定义服务part 2 - Docker and go-microGo-micropart 3 - docker-compose and datastoresPart 4 - Authentication with JWTJWTUser-serviceconsignment-cliconsignment-server原创 2018-01-17 15:11:57 · 8636 阅读 · 0 评论