
golang
文章平均质量分 80
golang 语言编码总结
呆呆的猫
爱发呆 爱抹茶 一直在路上
展开
-
【golang】28、用 httptest 做 web server 的 controller 的单测
用 httptest 做 web server 的 controller 的单测原创 2024-03-11 11:56:31 · 1155 阅读 · 0 评论 -
【golang】27、用 golang 实现一个数据库:lex、parse 解析、操作 sql
实现一个 parser 来解析 CREATE、INSERT、SELECT 语句,然后会在内存实现一个 db server,并支持 TEXT 和 INT 类型,实现一种 REPL(交互式终端)原创 2024-03-10 23:58:49 · 1350 阅读 · 0 评论 -
【golang】26、retry-go 使用示例和源码解析
在分布式情况下,因为网络或服务不稳定,经常需要 retry。golang 下有 retry-go 库,封装了常见的重试配置,很方便扩展。项目地址是 https://github.com/avast/retry-go。原创 2024-03-06 11:12:39 · 1594 阅读 · 0 评论 -
【golang】25、图片操作
golang 图片操作原创 2024-02-29 12:28:29 · 927 阅读 · 0 评论 -
【golang】24、fmt.Errorf(), error.Is() 和 error.As()
golang error 处理原创 2024-02-22 13:02:29 · 1434 阅读 · 0 评论 -
【golang】23、gorilla websocket 源码:examples、数据结构、流程
golang gorilla websocket 库 源码分析原创 2024-02-07 14:12:47 · 1681 阅读 · 0 评论 -
【golang】24、go get 和 go mod:indrect 与 go mod tidy
go get && go.mod原创 2024-02-06 13:10:34 · 1193 阅读 · 0 评论 -
【golang】22、functional options | 函数式编程、闭包
简化 api 设计,用闭包,提供选项配置原创 2024-01-30 18:53:00 · 1208 阅读 · 0 评论 -
【golang】16、dlv 调试工具、vscode+ssh 远程调试
【golang】dlv 调试工具、vscode+ssh 远程调试原创 2024-01-28 22:35:27 · 750 阅读 · 0 评论 -
【golang】15、cobra cli 命令行库
golang cobra cli 命令行库原创 2023-08-28 23:58:34 · 644 阅读 · 0 评论 -
【golang】13、viper 配置库 | 配置文件读写 | 使用方式 | 源码逻辑分析
golang viper 库,配置文件读写,使用方式,源码逻辑分析原创 2024-01-31 18:35:57 · 1573 阅读 · 0 评论 -
【golang】12、gin 源码解析
golang gin 框架源码解析原创 2023-07-19 14:48:27 · 581 阅读 · 0 评论 -
【golang】2、http client、代理、爬图
用 golang 可以很方便的爬图(http 下载图片,存储为 jpg 格式)原创 2023-05-24 12:40:24 · 993 阅读 · 0 评论 -
【golang】9、pprof 监控与性能调优
golang 用 pprof 来监控运行时状态,具体可见官网,其前身为,开启 pprof 后,程序会定时采集自身的堆栈、cpu、mem 信息,并形成数据报告。原创 2023-03-10 00:35:40 · 5016 阅读 · 0 评论 -
【golang】11、time、timer 和 ticker
timer 和 ticker原创 2022-10-26 23:21:32 · 343 阅读 · 0 评论 -
【golang】10、grpc server 和 client、proto
grpc 的 server 和 client、proto原创 2022-10-26 19:16:28 · 1685 阅读 · 0 评论 -
【golang】3、序列化、json、jsoniter
序列化、json、jsoniter原创 2022-10-12 11:42:44 · 489 阅读 · 0 评论 -
【golang】2、深拷贝-浅拷贝-方式与性能对比:Reflect、GobEncode、JsonMarshal
各编程语言都有深浅拷贝的概念, 它们的核心是拷贝的是`地址`(浅拷贝)还是`值`(深拷贝) Reflect, GobMarshal, JsonMarshal几种方式, 我们做一个Benchmark试验如下。的数据, 分别测试对拷贝后新对象的写操作, 是否影响老对象, 结果如下。各编程语言都有深浅拷贝的概念, 它们的核心是拷贝的是。结果如下, 确实新对象的任何改动, 都没影响老对象。结果如下, 确实新对象的任何改动, 都没影响老对象。结果如下, 确实新对象的任何改动。当我们需要拷贝一个新对象时, 怎么选择呢?原创 2022-08-29 22:02:04 · 1387 阅读 · 0 评论 -
【golang】1、用 double check 正确的锁临界区
如果写到并发的程序,就要考虑加锁。而加锁很容易出现 bug,且极难排查。本文以 golang 语言为例,介绍怎样正确地锁住临界区。原创 2022-10-10 13:19:49 · 767 阅读 · 1 评论