Go语言教程

     

Golang中编写I/O数据读写流

17 14K

GitLab 使用 Golang 抽象的 I/O 实现:每小时流式传输 TB 级的 Git 数据。本文帮助你了解如何在 Golang 应用程序中编写读写器Readers 和 Writers。每小时,G.

案例:微服务从Java/SpringBoot迁移到Golang

78 1 2K

基于 Java 的微服务,特别是那些使用 Spring Boot 的微服务,长期以来因其强大的功能和广泛的社区支持而闻名。Spring Boot 的约定优于配置方法简化了微服务的部署和开发,提供了大量.

Go首次达Tiobe榜历史最高第八名

48

谷歌的 Go 语言(即 golang)在 Tiobe 语言流行度指数中达到了历史最高位置,在2024年2月 Tiobe 语言流行指数中排名第八,并且多年来一直在上升。一年前在 Tiobe 指数中攀升至.

Go 1.22中路由 URL 路由参数

22 18K

处理基于 HTTP 的 API 时,通常使用 URL 路由参数(也称为路由变量)传递数据。这些参数是 URL 路由段的一部分。它们通常用于识别 API 操作的资源。在除了最简单的 Web 应用程序之外.

面向初学者和专家的两种可读性编程语言

27

什么是可读性代码?下面一个幽默: f(x,y) -> 清晰明了,是实用编程的标志。 f x y -> 在 shell 脚本中可以接受,但有点奇怪。 (f x y) -> 令人费解。请谨慎使用! 有两种.

Go 1.22中HTTP包更新

20 5K

每当我在网上遇到讨论或被问到使用哪个包在 Go 中创建 HTTP 服务器时,我的答案都是一致的。这实际上取决于您计划构建的 HTTP 服务的复杂性,但我始终建议net/http从标准包开始。Go 语言.

Go中泛型和反射比较指南

39 14K

Go 是一种以简单性为傲的静态类型语言,自诞生以来已经经历了无数的变化。经常引发 Go 开发人员讨论的两个功能是反射和最近的泛型。两者都有相似的目的:为固有的静态语言引入一定程度的活力和灵活性。但是,.

GoRules:Go的业务规则引擎

28 6K

ZEN Engine 是一个跨平台、开源业务规则引擎 (BRE)。它是用 Rust 编写的,并提供NodeJS、Python和Go的本机绑定。 ZEN Engine 允许从 JSON 文件加载和执行 .

Go 1.22中新HTTP路由器

59 4K

Golang 1.22于2024年2月6日发布。该版本应用了相当多的更新。我非常感兴趣的一件事是增强的路由模式。借助此功能,我们可以创建动态路由参数,而无需第三方库。让我们进一步探索。问题在 gola.

Go 1.22:Golang历史上最大的破坏向后兼容性版本

314 1 2K

Go历史上最大的破坏向后兼容性的版本。 发布说明甚至没有提到 Go 1.22 会破坏向后兼容性这一事实。网友观点: 部分破坏,这取决于为每个引用模块设置的 go.mod 版本。这样做比较温和,但如果任.

Go中Context生命周期控制问题

36 5K

在 Go 中处理Context管道时需要遵守三个主要规则: 只有入口点函数应该创建新的Context, Context仅沿着调用链传递, 并且在函数返回后不存储Context或以其他方式使用它们。 上.

Go中的装饰器模式

21 6K

装饰器模式是一种软件设计模式,可让您在现有逻辑之上添加更多功能。为了解决这个问题,人们首先想到的是使用继承——这是完全有道理的。然而,继承的本质是静态的。如果您有附加功能的多种变体或更糟糕的是它们的各.

Go中使用内省反射机制实现动态配置包

24 14K

在 Go 开发的动态世界中,配置管理在根据特定环境定制应用程序方面发挥着至关重要的作用。虽然传统方法通常依赖于静态配置文件,但出现了一种更通用、更强大的替代方案:反射。通过利用这种内省功能,我们可以制.

Go中使用HTMX编写ToDo案例演示

34 8K

在 Web 开发领域,简单性和效率是关键。这就是 HTMX 和 Go 的结合发挥作用的地方。HTMX 允许您直接在 HTML 中访问 AJAX、CSS Transitions、WebSockets 等.

Grape:零依赖的 Go HTTP 库

31 3K

Grape 是一个现代的、零依赖的 Go HTTP 库。它是标准库的一个薄包装,提供帮助函数以促进更快、更轻松的开发。仅向您的项目添加一个依赖项。Go 标准库非常棒。它快速、易用,而且拥有出色的 AP.

go-fast-cdn:用Go构建的快速且易于使用的CDN

37 2K

将 SQLite 数据库与 GORM 和 Gin Web 框架结合使用。使用Vite + React和wouter构建的 UI 。如何使用Go-fast CDN 有一个非常易于使用的界面,将在应用程序.

Go中用Goroutine实现观察者模式

30 3K

观察者模式是事件驱动编程中的主要内容,其中对象(称为“主题”)维护其依赖者(观察者)的列表,并通知它们任何状态更改。在 Python 等语言中,信号为此类解耦组件提供了一种通信机制。但是我们如何利用 .

从 Java 迁移到 Go 后的想法

56 3K

分享看从 Java 迁移到 Go 的人的经验,特别是在后端服务器端项目方面。网友讨论:我之前在做后端 Go 工作,现在在做后端 Java 工作。构建项目很容易(Go 更容易),易于使用依赖项,并且易于.

divisor:快速且易于配置的负载均衡器

52

用Go语言提供快速且易于配置的负载均衡器。目前它包括round-robin、weighted round-robin、least-connection、ip-hash和random算法该项目使用fas.

使用Redis和Go实现高性能缓存

41 4K

Go 是构建高性能 Web 应用程序的优秀语言,而高性能 Web 应用程序通常需要集中式缓存。当今流行的 Go 库缺乏对内存高效流的支持。相反,他们提供了[]byte方式,如果您缓存小对象,这不是问题.

Go运行时的两个主要限制

24 2K

Go 的并发运行时在云应用程序中可以很好地扩展。大多数 Go 应用程序容器都会在 Kubernetes 集群上的某个地方发出 CPU 请求,消耗几个 vCPU 和一些 RAM,并且可以很好地进行扩展,.

深入研究Go运行时的调度程序

29 10K

Go 对并发的内置支持是其最重要的功能之一,使其成为构建高性能和可扩展系统的流行选择。在本文中,我们将探讨 Golang 中的并发概念,包括其核心原语,例如goroutine和Channels,以及它.

Go中Goroutine简单教程

50 4K

Goroutine 是 Go 编程语言中的轻量级、独立执行的并发控制线程。Goroutines 是 Go 中并发和并行编程的基本构建块。它们允许您并发执行函数,从而可以轻松地以可读且可管理的方式编写并.

递归算法与并发编程能同时实现吗?

48 2K

我一直在尝试在递归等求解器中实现并发。但是,我不相信我有正确的实施想法。有谁有关于有效实现递归并发的资源吗?网友讨论:1、对于这类问题,我认为递归就像树形结构:分支。对于数独这棵相当高的树来说,我不认.

Robinson:Go中单值线程安全缓存

73

“Robinson”包是一个轻量级且高效的 Go 库,它提供了一个线程安全的缓存实现,用于存储和检索任何类型的值。它提供了一种简单且简约的缓存方法,利用 Go 泛型的强大功能来确保强大的类型和最佳性能.

如何高效批量读取Go Channel数据

55 8K

近年来,Go语言因其高效的并发模型而受到广泛关注。Goroutines 和 Channels 是 Go 中构建并发程序的基础。通道可用于在 goroutine 之间安全地传递数据和信号。很多场景下,我.

Golang 中实现基于 JWT 的身份验证

75 16K

在这篇文章中,我们将了解基于JWT(JSON Web Token)的身份验证如何工作,以及如何使用golang-jwt/jwt库在 Go 中构建服务器应用程序来实现它。JSON Web 令牌 (JWT.

Go语言的nil引发10万美元损失

68 4K

摘要:在一个公司中,一位Go语言的忠实粉丝开始推动其他团队也使用Go,但由于一个新的订阅计划的插入错误,数据库中的某个字段为空,导致应用在后台任务中发生空指针异常并崩溃,进而导致整个服务宕机,造成了约.

Go中的t.Parallel()使用教程

84 3K

在Go编程语言(Golang)的上下文中,该t.Parallel()函数经常用于测试。在 Go 中编写测试时,该testing包提供了一种T类型,该类型具有用于管理和报告测试状态的方法。该t.Para.

Go 1.22 发行说明:2个亮点

282

Go 1.22 尚未发布。这些是正在进行的发行说明。Go 1.22 预计将于 2024 年 2 月发布。语言主要变化: Go 1.22对"for"循环进行了改变,每次迭代都创建新的变量,避免了意外共享.