Goland刷LeetCode模板

Goland的 LeetCode 插件可以让我们在 IDE 非常方便地刷题。 下面的配置可以让你更好地利用这个插件 模板的配置但是如果每次都去写一个 Main 函数去本地调试,是很不方便的。 因此我们可以借助单测,把下面我的这个模板贴到插件配置即可:...

Go

Go 的位运算

Go 的位运算符 12345678910111213141516// 这四个就不介绍了&|>><<//^ 异或 位不一样则为1a := 5 // 二进制表示为 101b := 3 // 二进制表示为 011...

Go

Go GC

三色标记法基本原理 从程序根节点开始扫描,扫描到的标记为灰色。 广度优先的原则,从灰色标记表中,遍历所有灰色节点的下一级,将其标记为灰色。上一轮灰色表中的全部放入黑色表。 依次循环上一步。 最终白色节点说明没有被访问,需要回收。 这时候我们...

Go

连 chatGPT 都在用的SSE协议

我们都知道,想实现浏览器和服务器互相推送消息,可以使用 websocket 协议。 但如果只想实现浏览器推送消息给客户端,我们还可以选择 SSE 协议,它其实是基于 HTTP 的一种协议。 SSE,服务器发送事件(Server-sent event...

network

可扩展的 Go Scheduler 设计文档

原文 https://golang.org/s/go11sched 在 go 的 runtime 包下,阅读最重要的关于流程调度的文件 proc.go 时。贴了这个文档地址。 机翻一下: 可扩展的 Go Scheduler 设计文档 德米特里·维尤...

Go

runtime/cgo: pthread_create failed: Operation not permitted

runtime/cgo: pthread_create failed: Operation not permitted · Issue #1501 · containers/skopeo (github.com) runtime&...

OP

通过 select 进行超时限制

123456789101112131415161718192021func TestSelectTimeLimiter(t *testing.T) { var res string done := make(chan struc...

gRPC 学习

安装 protochttps://github.com/protocolbuffers/protobuf/releases 这里找到你需要的版本 下载解压后,把 bin 目录放到环境变量 放好后 protoc 测试下 写 proto 文件12345...

Go

The Zen of Go (Go语言之禅)

本文内容摘录于 知名 Go 语言贡献者与布道师 Dave Cheney 发表的名为《The Zen of Go》里面的内容,针对如何编写简单、可读、可维护的 Go 代码给出了11条工程要点。 原文地址: https://the-zen-of-go.n...

Go

Go 刷 LeetCode

3 无重复字符的最长子串垃圾的滑动窗口:外层 i, 内层 j 从 i 开始一点点加。结束内层后清理掉整个map 记忆的数据。 实际上不需要完全清理,只需要 i++ 后清理掉 i, j 可以继续++ 41234567891011121314151617...

Algorithm
1234