- Golang
Dubbo 为什么用 Go 重写?
Apache Dubbo Go 语言实现,架起 Java 和 Golang 之间的桥梁,与 gRPC/Dubbo 生态互联互通,带领 Java 生态享受云原生时代的技术红利。...
- Golang
泛型版 Singleflight:Go 中如何防止缓存击穿?
并发是 Go 的优势,但并发也需要很好的进行控制。标准库中有 sync 包,经常使用的功能有 sync.Mutex、sync.WaitGroup 等。其实,除了标准库,还有一个官方的扩...
- Golang
如何在 Go 中将 []byte 转换为 io.Reader?
在 stackoverflow 上看到一个问题,题主进行了一个网络请求,接口返回的是 []byte。如果想要将其转换成 io.Reader,需要怎么做呢?...
- Golang
超全总结:Go 读文件的 10 种方法
Go 中对文件内容读写的方法,非常地多,其中大多数是基于 syscall 或者 os 库的高级封装,不同的库,适用的场景又不太一样,为免新手在这块上裁跟头,我...
- Golang
2021 年你写了多少代码?这个 Go 工具帮你统计
2021 年马上要过完了,一年下来,你写了多少代码?其中 Go 代码又有多少呢?虽然大家一般讨厌将代码行数作为考核业绩指标,但我们自己对一年的代码量有...
- Golang
深入理解 Go Json.Unmarshal 精度丢失之谜
我们知道在json反序列化时是没有整型和浮点型的区别,数字都使用同一种类型,在go语言的类型中这种共同类型就是float64。...
- Golang
golang简单的 For 循环也会踩的坑
由于写 go 的资历尚浅、道行更是浅薄,这 bug 我硬是找了个把小时;刚开始还以为是数据源的问题,经历了好几轮自我怀疑。总之过程先不表,先看看如何...
- Golang
Go1.18 泛型的好、坏亦或丑?
Go 泛型定了,有哪些好的使用场景,哪些不好的应用场景,亦或哪些使用看起来丑?本文聊聊这个问题。...
- Golang
Golang 语言 For 和 For-range 的区别
在 Golang 语言中,仅有 for 一种循环语句,但是可以模拟 while (condition) {} 和 while (true) {}。除此之外,Golang 语言还引入了另外一个关键字 range,我们也可以配...
- Golang
Go工程化如何在整洁架构中使用事务?
事务的能力是在 repo 上提供的,所以我们需要在 repo 层提供一个事务接口,然后在 usecase 中进行调用,保证是事务执行的就行。...
- Golang
Go 有哪几种无法恢复的致命场景?
在今天这篇文章中,我们介绍了 Go 语言的三种错误类型。其中针对大家最少见,但一碰到就很容易翻车的致命错误 fatal error 进行了介绍,给出了一些经典...
- Golang
Go 服务进行自动采样性能分析的方案设计与实现
线上服务的性能分析,一直以来都是比较难的点,主要是难在无法在性能出现异常的当时捕捉到现场信息。有人可能会说,这有什么难的,直接用 Go 工具集...
- Golang
如何使用 atomic 包减少锁冲突
Go 提供了 channel 或 mutex 等内存同步机制,有助于解决不同的问题。在共享内存的情况下,mutex 可以保护内存不发生数据竞争(data race)。不过,虽然存在两个...
- Golang
Golang AI 开发:通过将 AI 集成到你的应用程序
Golang AI 应用程序具有令人难以置信的潜力。具有独特的功能,例如超快的速度、轻松调试、并发性以及用于 ML、深度学习和强化学习的优秀库。 ...
- Golang
Go1.18 新特性:TryLock 是什么?需要它吗?
我们知晓,Go 标准库的 sync/Mutex、RWMutex 实现了 sync/Locker 接口, 提供了 Lock() 和 UnLock() 方法,可以获取锁和释放锁,我们可以方便的使用它来控制对共享资...
- Golang
Go开发中结构体 model、dto 、time格式问题
model层不允许使用 json, dto层又重复造轮子,一个表的字段可能20个左右,那么赋值语句难受死了。其次就是json直接解析,model层的time.Time,完蛋格式不对,...