原文: High-Speed Packet Processing in Go: From net.Dial to AF_XDP by Andree Toonk.
slog 终极指南
原文: Logging in Go with Slog: The Ultimate Guide by Ayooluwa Isaiah.
一道面试题: Top K 问题
最近在招一个Go开发工程师,面试中时候我会问一个Top K的问题,这个问题是一个经典的面试题。
有时候我不会要求面试者写出答案,首先我听一下他的思想,如果写代码困难的话我都允许可以上网查标准库的文档,看看heap的用法。
相对来说比Redis的作者antirez的面试要轻松些了,他的面试题是要求面试者写出一个二叉搜索树。
一些笔记工具工具以及memos介绍
祝大家龙年大吉!
Go语言中的Pinner.Pin
runtime.Pinner 是 Go 1.21.0 中引入的一个类型。
Pinner
是一组固定的 Go 对象。可以使用 Pin
方法来固定一个对象。Pinner
固定的所有对象都可以使用 Unpin
方法解开固定。
从慢速到SIMD: 一个Go优化的故事
SourceGraph 的工程师 Camden Cheek 提供的一个利用SIMD进行Go性能优化的故事:From slow to SIMD: A Go optimization story。
遍历函数?Go 1.22中隐藏的功能
Go 1.22中可以 range 一个整数,比如下面的代码:
|
|
这个大家都已经知道了,其实对应的提案中还有一个隐藏的功能,就是可以 range 一个函数,比如下面的代码(摘自官方代码库internal/trace/v2/event.go):
|
|
就少有介绍了。
本文尝试介绍它,让读者先了解一下,它在Go 1.22 中是一个实验性的功能,还不确定未来在哪个版本中会被正式支持。
官方wiki中也有一篇介绍: Rangefunc Experiment,类似问答的形式,也是必读的知识库。