更新:如果你是从一篇题为 《糟糕的 Go 语言》 的汇编文章看到这篇博文的话,那么我想表明的是,我很惭愧被列在这样的名单上。Go 绝对是我使用过的最不糟糕的的编程语言。在我写作本文时,我是想遏制我所看到的一种趋势,那就是过度使用 Go 的一些较复杂的部分。我仍然认为 通道 Channel 可以更好,
如果你看一下 新的 Datadog Agent,你可能会注意到大部分代码库是用 Go 编写的,尽管我们用来收集指标的检查仍然是用 Python 编写的。这大概是因为 Datadog Agent 是一个 嵌入了 CPython 解释器的普通 Go 二进制文件,可以在任何时候按需执行 Python 代码
GitHub 推出赞助商专属存储库几年前,GitHub 引入了赞助功能,允许任何人财务赞助开源开发者。而现在,GitHub 推出了 赞助商专属存储库,也就是只有赞助商才能访问的私人存储库。这些存储库可以分为不同的赞助级别。有了赞助商专属仓库,开发者不仅可以募集捐款,还可以更好地与赞助商(企业或其他)
Go 团队接受了新增对模糊测试的支持的提议。Go 的应用越来越广泛。现在它是云原生软件、容器软件、命令行工具和数据库等等的首选语言。Go 很早之前就已经有了内建的 对测试的支持。这使得写测试代码和运行都相当简单。什么是模糊测试?模糊测试 fuzz testing (fuzzing)是指向你的软件输入
这些方便的 Go 构建选项可以帮助你更好地理解 Go 的编译过程。学习一门新的编程语言最令人欣慰的部分之一,就是最终运行了一个可执行文件,并获得预期的输出。当我开始学习 Go 这门编程语言时,我先是阅读一些示例程序来熟悉语法,然后是尝试写一些小的测试程序。随着时间的推移,这种方法帮助我熟悉了编译和构
仅用大约 65 行代码,开发一个用于生成随机数、支持并发的 TCP 服务端。TCP 和 UDP 服务端随处可见,它们基于 TCP/IP 协议栈,通过网络为客户端提供服务。在这篇文章中,我将介绍如何使用 Go 语言 开发一个用于返回随机数、支持并发的 TCP 服务端。对于每一个来自 TCP 客户端的连
Go 的随机数生成器是生成难以猜测的密码的好方法。你可以使用 Go 编程语言 提供的随机数生成器来生成由 ASCII 字符组成的难以猜测的密码。尽管本文中提供的代码很容易阅读,但是你仍需要了解 Go 的基础知识,才能更好地理解它。如果你是对 Go 还不熟悉,请阅读 Go 语言之旅 来了解更多信息,然
了解使用数组和切片在 Go 中存储数据的优缺点,以及为什么其中一个更好。在本系列的第四篇文章中,我将解释 Go 数组和切片,包括如何使用它们,以及为什么你通常要选择其中一个而不是另一个。数组数组是编程语言中最流行的数据结构之一,主要原因有两个:一是简单易懂,二是可以存储许多不同类型的数据。你可以声明
本文是 Go 系列的第三篇文章,我将介绍三种最流行的复制文件的方法。本文将介绍展示如何使用 Go 编程语言 来复制文件。在 Go 中复制文件的方法有很多,我只介绍三种最常见的:使用 Go 库中的 io.Copy() 函数调用、一次读取输入文件并将其写入另一个文件,以及使用缓冲区一块块地复制文件。方法
使用一个简单的计数程序比较古老的 C 语言和现代的 Go 语言。Go 是一种现代编程语言,它很大程度上源自于 C 编程语言。因此,对于写 C 程序的程序员来说,Go 应该会感觉很熟悉。Go 让编写新程序变得容易,同时让 C 程序员感觉熟悉,但避免了 C 编程语言的许多常见陷阱。本文比较了一个简单的
“Go 2 永远不会出现”谷歌的 Russ Cox 称现在还没有 Go 2 的计划,这就提出了一个显而易见的问题:我们什么时候才能看到会破坏旧版 Go 1 程序的 Go 2 规范呢?在今天的博文中他写道:“答案是永远不会。从与过去决裂、不再编译旧程序的意义上讲,Go 2 永远不会出现。从 2017
今天的帖子来自于最近的 Go 语言的一次小测试,观察下面的测试基础片段 [1] :func BenchmarkSortStrings(b *testing.B) { s := []string{"heart", "lungs", "brain", "kidneys", "pancre
#1 Go 程序员大多使用 Linux 或 MacOSGo 团队在八月份对 Go 开发者进行了一项调查,调查结果显示 90% 的受访者表示他们在上一年使用 Go 时感到满意。他们在 Linux(63%)和 macOS(58%)系统上使用 Go 语言,但新的 Go 程序员更倾向于使用 Windows。
上个月 IT 圈的热门话题是谷歌解雇了 Python 核心团队和 Flutter/Dart 团队里的多名开发人员,据称是为了进行全公司范围的重组。据悉,被裁掉的大多是 Python 重要维护的核心成员。作为一名 Gopher,我也不禁长长思考:Google 会放弃 Go 吗?如果会,Go 会变成什么
Go (Golang) 是 Google 开发的一种编译型、并发型,并具有垃圾回收功能的编程语言,于 2009 年 11 月正式宣布推出成为开源项目,2012 年发布 1.0 版本。 如今,谷歌仍在继续投资该语言,最新的稳定版本是 1.22.5。在最新的 TIOBE 7 月榜单中,Go 排名第七。
谷歌 Android 工程总监近日在 Rust Nation 大会上介绍了将 Go 或 C++ 编写的项目迁移到 Rust 语言的经验。谷歌内部从 Go 转向 Rust 后,发现工作效率提高了两倍以上,内存使用率降低,缺陷率降低,正确性提高。此发现对谷歌团队来说意义重大,因为 C++ 代码维护成本高
经过半年改进,dubbo-getty 发布了 v1.5.0 版本,致力于提升稳定性,并修复已知问题,为用户提供更可靠的网络通信服务。 如昔,依然坚持 "Getty 只考虑使用 Go 语言原生的网络接口,如果遇到网络性能瓶颈也只会在自身层面寻找优化突破点" Go 语言网络库 getty 的那些事 。
Go语言,自2009年发布以来,凭借其简洁、高效、并发能力强等特点,迅速在开发者社区获得了广泛的关注和应用,特别是在服务器端开发、云计算、容器技术和微服务架构等领域。例如,Docker 和 K8S 等知名的容器技术都是使用Go语言开发的。为什么需要Context包?认识 goroutine首先让我们
大家好,我是煎鱼。前几天看 Reddit 社区里的讨论,发现 Go 这一门编程语言,错误处理永远是讨论的议题之一。本着追踪网友脑洞 Proposal 的基础上,周末看到个被反对比较多的 Go2 错误处理提案。图片今天结合分享给大家,好的坏的都可以看看别人的想法。问题背景在 Go 这门编程语言中,错误
在Go语言中,可以使用 Shutdown方法来优雅地关闭服务器,以及使用 fvbock/endless库实现服务器的无缝重启。下面是一个简单的教程,演示如何使用这两个功能。 首先,我们介绍如何使用 Shutdown方法来优雅地关闭服务器。 导入必要的包: import (