摘要:
[toc] 反射之结构体tag "链接" 1. 通过v.Field(i).Tag 获取结构体字段的field 2. 通过v.Field(i).Tag.Get("id") 获取结构体字段中的特定信息 3. func(tag StructTag)Lookup(key string)(value stri 阅读全文
摘要:
Benchtest的简单使用 一个简单的benchtest用例 go // 以BenchmarkXXX类似命名,并传入b testing.B 参数 func BenchmarkLoopSum(b testing.B) { for i := 0; i 阅读全文
摘要:
go build 使用tag来实现编译不同的文件 "go tooling workshop 中关于go build的讲解" 可以了解到go bulid的一些用法,这篇文章最后要求实现一个根据go bulid tag功能来编译不同版本的做法,version参数根据tag传进来的值进行编译。下面是一个实 阅读全文
摘要:
golang http 服务器的接口梳理 "Golang构建HTTP服务(二) Handler,ServeMux与中间件" Hanlde和HandleFunc以及Handler, HandlerFunc HandleFunc仅接受一个func为参数,相对于简洁些。Handle则需要传入一个带有Ser 阅读全文
摘要:
三种迭代方式 "3 ways to iterate in Go" 有如下三种迭代的写法: 回调函数方式迭代 通过Next()方法迭代。参照python 迭代器的概念,自定义Next()方法来迭代 通过channel实现迭代。 假设实现迭代从[2, max],打印出偶数。 chan方式迭代 总结: 1 阅读全文
摘要:
"3种方法实现CSS隐藏滚动条并可以滚动内容" 阅读全文
摘要:
nextTick是vue提供的全局函数,在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 在实际的vue+element项目中与echart,antv G6等图形库结合使用的时候,在以下情况可能出现异常 1. 使用element 的dialog,并 阅读全文
摘要:
捕获Ctrl + C中断 优雅的退出程序 "Gracefully terminate a program in Go" "os/signal" 来捕获系统中断等信号 // Notify方法将signal发送到channel, func Notify(c chan 阅读全文
摘要:
假如要设计一个统计的json解析模块,json格式为 代码 我们定义Msg类型为interface{},用来接受任意的类型。接下来试着解析msg中的字段 const input = ` { "type": "sound", "msg": { "description": "dynamite", "a 阅读全文
摘要:
Go 使用默认参数的技巧 "Functional Options Pattern in Go" golang中没有函数默认参数的设计,因此需要些特别的技巧来实现。 假如我们需要订购一批电脑,其中电脑配置cpu,gpu,内存支持自定义。 定义自定义参数配置,创建一个默认的电脑配置 创建一个闭包函数,接 阅读全文