面试官提问三个Go接口的概念, 10年gopher竟无言以对 (colobu.com)

【简介】

自 Go 1.18后, Go的interface的含义有所变化, 三个新的和Go接口有关的概念很多人还不知道: type set(类型集合)、specific type(特定类型)和structural type(结构类型)。

点击查看原文 >>

@技术头条 2022-05-06 23:30 / 原作者微博:@colobu / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
Go协程池深度解析:原理、实现与最佳实践 (www.zhengwenfeng.com)
文章系统解析 Go 协程池的实现原理和实践,包括为何需要协程池、基本实现方式、协程数设置依据及性能对比测试。示例代码演示如何手动构建协程池,并推荐三种高性能第三方库(如 ants、tunny)。适合进行高并发控制和资源管理优化的场景。
by @技术头条 2025-11-12 00:32 查看详情
Go中秘而不宣的数据结构: 四叉堆,不是普通的二叉堆 (colobu.com)
文章讲解了 Go 语言定时器底层实现中四叉堆的设计原理,解释其在 Go 运行时的作用。通过使用四叉堆(4-ary heap)替代二叉堆,优化了定时器性能,特别是在高并发场景中。

适合人群:Go 语言开发者及对运行时机制、高性能定时器实现感兴趣的工程师。
by @技术头条 2025-01-20 00:03 查看详情
学习了解数据仓库中的分层概念 (ixyzero.com)
本文详细介绍了数据仓库的分层概念,包括数据运营层(ODS)、数据仓库层(DW)和数据应用层(APP)。其中,DW层进一步细分为数据明细层(DWD)、数据中间层(DWM)和数据服务层(DWS)。文章阐述了各层的功能和作用,并通过实例说明如何在实际业务中应用这些分层概念。该内容适合数据工程师、数据分析师、数据架构师以及对数据仓库设计和实现感兴趣的技术人员阅读。
by @技术头条 2025-01-12 12:08 查看详情
Go中秘而不宣的数据结构: 四叉堆,不是普通的二叉堆 (colobu.com)
文章介绍了 Go 语言中定时器使用的四叉堆数据结构,分析其相较于二叉堆的优势,如降低堆高度以提升性能,并回顾了 Go 不同版本中定时器实现的演进过程。适合对 Go 语言运行时实现细节、数据结构优化及并发编程感兴趣的开发者阅读。
by @技术头条 2025-01-12 12:03 查看详情
Go中秘而不宣的数据结构 CacheLinePad:精细化优化 (colobu.com)
这篇文章深入解析了 Go 语言中的 CacheLine 数据结构,详细探讨了其在多核环境下的内存对齐、伪共享问题以及性能优化方法。通过具体的代码示例和实验分析,文章展示了如何利用 CacheLine 提升并发程序的性能。内容专业且实用,对开发高性能 Go 应用的工程师有很高的参考价值,值得推荐阅读和分享。
by @技术头条 2025-01-03 00:03 查看详情
Go中秘而不宣的数据结构 Treap:随机化的二叉搜索树 (colobu.com)
这篇文章详细解析了 Go 语言中 Treap 数据结构的实现和应用。内容涵盖了 Treap 的设计思想、核心算法以及在实际场景中的使用案例,还深入探讨了平衡二叉树与堆的结合特点及其性能优势。对于希望了解 Go 内部实现或探索高效数据结构的开发者,这篇文章提供了丰富的干货和学习价值,值得推荐。
by @技术头条 2025-01-03 00:01 查看详情
Go中秘而不宣的数据结构 BitVec, 资源优化方法之位向量 (colobu.com)
如何深入理解 Go 的内部数据结构?文章以 BitVec 为例,详细解析了其设计原理、实现方式以及在不同场景中的应用,还探讨了相关的性能优化策略和工程实践。这是一篇高质量的技术解读,为开发者学习 Go 的底层实现提供了宝贵的参考!
by @技术头条 2025-01-02 23:59 查看详情
OpenTelemetry 实践指南:历史、架构与基本概念 (crossoverjie.top)
本文介绍了OpenTelemetry的历史、架构和基本概念。OpenTelemetry是一个用于统一日志、指标和链路追踪的开源项目,旨在简化可观测性技术栈的复杂性。文章详细介绍了OpenTelemetry的三个核心组件:客户端、OTel Collector和数据存储。通过标准化协议,OpenTelemetry实现了与多种后端系统的兼容,为开发者提供了一种灵活且可扩展的可观测性解决方案。
by @技术头条 2024-08-06 08:05 查看详情
Agent是如何工作的:概念及LangChain实现 (it.deepinmind.com)
LLM(大型语言模型)在自主Agent领域的应用受到了广泛关注。你可能已经在诸如Auto-GPT、BabyAGI等流行应用中了解过它们的用法,这些应用几乎每天都层出不穷。

理解这些应用的基本原理并不复杂,因为大多数工具的工作流程大致相同。
by @技术头条 2024-03-31 21:13 查看详情
聊聊 Go 的边界检查消除技术 (colobu.com)
在翻译的从慢速到SIMD一文中, SourceGraph工程师其中的一个优化就是边界检查消除(BCE,bounds check elimination)技术,同时他也抛给了读者一个问题:

为啥在使用 a[i:i+4:i+4] 而不是 a[i:i+4]?

本文第一部分先回答这个问题。 第二部分介绍更好的边界检查消除方法。 第三部分再全面梳理Go的边界检查消除技术。
by @技术头条 2024-03-21 23:00 查看详情