Go Official Blog
0获赞0粉丝0关注
[小布去面试系列]如何检查几十亿用户中是否存在某个用户名
小布去面试,面试官问:我们在注册一个应用程序时,经常发现自己喜欢的用户名已被他人使用了这种情况。假如我的游戏中总共有 10 亿用户,如何快速判断你的用户名是否已经在这些用户中呢?小布:玩个游戏也这么多事儿?那我可要发挥了。虽然这看起来不起眼的一个功能,但对于处理大量用户的应用程序来说,却是一个重大的
Go Official Blog
1
通过 Go 开始使用 Genkit(Alpha 版)
通过 Go 开始使用 Genkit(Alpha 版)简介Firebase 是一个移动和 Web 应用开发平台,提供包括实时数据库、身份验证等在内的多种服务。通过使用 Firebase,开发者可以快速构建高质量的应用程序。本指南将帮助你开始使用 Firebase 进行 Go 语言开发。前提条件一个 G
Go Official Blog
0
Golang 使用 upx 减少可执行文件的大小
众所周知,Golang 的编译速度是非常之快的。在设计 Go 时,编译速度是一个重要的考虑因素。但是,你是否关注过 Go 编译代码后生成的二进制可执行文件的大小?让我们来看一个简单的 HTTP 服务的应用示例:import ( &n
Go Official Blog
1
Golang 对接并部署 helm charts
HelmHelm[1] 旨在简化 Kubernetes 中复杂应用工作负载的部署和管理。它的功能类似于 Kubernetes 的软件包管理器,其中的软件包被称为 Helm Charts。Helm Chart 结合了一个模板文件和一个值文件,前者概述了要部署的 Kubernetes 资源,后者则为模板
Go Official Blog
0
Go 使用 interface 时的 7 个常见错误
写在正文之前阅读本文之前我们来先熟悉以下的代码原则,如果你已经很熟悉这些内容,可以直接跳到正文。接口隔离原则:绝不能强迫客户实现其不使用的接口,也不能强迫客户依赖其不使用的方法。多态性:代码变化会根据接收到的具体数据改变其行为。里氏替换原则:如果你的代码依赖于一个抽象概念,那么一个实现可以被另一个实
Go Official Blog
0
Golang empty struct 的底层原理和其使用
在 Go 中,普通结构体通常占据一个内存块。但有一种特殊情况:如果是空结构体,其内存的占用大小就为零。为什么是这样呢?这样的空结构体有什么用?type Test struct { A int
Go Official Blog
0
Go 如何基于 MVS 解决依赖关系问题
摘要:文章主要介绍了 Go 如何解决依赖关系和版本冲突问题,以及模块管理系统,包括 go.mod 文件的作用、go get 和 go install 命令的使用Go 使用一种名为 "最小版本选择(Minimal version selection)"(MVS[1])的方法来处理依赖关系和解决版本冲突
Go Official Blog
0
使用 OpenTelemetry 实现 Golang 服务的可观测系统
这篇文章中我们会讨论可观测性概念,并了解了有关 OpenTelemetry 的一些细节,然后会在 Golang 服务中对接 OpenTelemetry 实现分布式系统可观测性。Test Project我们将使用 Go 1.22 开发我们的测试服务。我们将构建一个 API,返回服务的名称及其版本。我们
Go Official Blog
0
2024年 Go 开发者调查:5 个很有意思的现象
Go 团队每年进行一次调查,以了解更多关于在其编程中使用 Go 语言的开发者。今年的调查中有一些很有意思的现象,下面来看一下调查的内容。1. Go Developers 大多数使用 Linux在关于程序员中最受欢迎的操作系统的持续辩论中,有一个最新的调查结果。Go 语言的程序员并不最常使用 MacO
Go Official Blog
0
什么情况下使用 ErrGroup VS waitGroup?
Goroutine 是编写 Go 语言并发程序的强大工具。然而管理协程,特别是在处理协程的错误时,可能会变得繁琐。这时,x/sync 包中的 errgroup 就派上用场了。它提供了一种简化的方法来处理并发任务及其错误。Example for ErrGroup下面是一个使用 errorGroup 的
Go Official Blog
0
Golang 高效处理集合 (Collection) 的库
处理集合是构建任何应用程序的重要部分。通常,需要以下几类操作:转换:将某个函数应用于集合中的每个元素,以创建一个新类型的新集合;过滤:选择满足特定条件的集合中的元素;聚合:从集合中计算出单个结果,通常用于汇总;排序/排序:根据某些标准重新排列集合的元素;访问:根据其属性或位置检索元素的操作;实用程序
Go Official Blog
1
Golang 实现枚举的多种方式及最佳实践
枚举提供了一种表示一组命名常量的方式。虽然 Go 语言没有内置的枚举类型,但开发者可以通过常量/自定义类型来模拟类似枚举的行为。枚举在编程语言中扮演着至关重要的角色,提供了一种简洁而富有表现力的方式来定义一组命名常量。虽然像Java或C#这样的语言提供了对枚举的内置支持,但Go采用了不同的方法。在
Go Official Blog
0
深入剖析 Golang 的内存分配机制
Golang 语言的内存分配机制是理解和优化 Golang 程序性能的关键。在 Golang 中,由于 Go 的垃圾回收机制,内存管理是自动的。理解内存的分配和回收方式可以帮助我们编写更高性能的代码。本文将深入探讨 Golang 的内存分配机制。内存分配的基本原则在计算机科学中,内存分配是指为程序中
Go Official Blog
0
Debezium Server Databend support Auto Schema Evolution
背景 Debezium Server Databend 是一个基于 Debezium Engine 自研的轻量级 CDC 项目,用于实时捕获数据库更改并将其作为事件流传递最终将数据写入目标数据库 Databend。它提供了一种简单的方式来监视和捕获关系型数...
Go Official Blog
0