Go语言教程

     
  • Go 不适合什么类型的应用?

    1 2K

    我只想说我爱 Go。我用它已经 8 年了,我爱它作为一种语言。我希望能够以 Go 开发人员的身份结束我的职业生涯,我太爱它了。然而,我接手了很多项目,我觉得 Go 可能不是最合适的。我只是想回顾一下我.

  • 2024 年 Go 与 Rust 的较量

    32

    如果您是一位想要了解最新趋势的技术爱好者,那么决定哪种语言最适合您的需求至关重要。Go 和 Rust 都有各自的优点和缺点。Go 和 Rust 简介Go,也称为 Golang,是 Google 于 2.

  • 使用 Go 构建高性能文件上传器

    12 18K

    本文中,我们将探讨使用 Go 构建高性能文件上传器的过程。此文件上传器会将大文件拆分为较小的块,并行上传这些块,并仅同步已修改的块。我们还将实现文件监视以自动处理更新。我们的文件上传器将由以下组件构建.

  • 本周17个github有趣项目Teo等

    82 1 15K

    17个github有趣的项目、工具和库1、TeoTeo 是模式驱动的 Web 服务器框架。服务器端 API 是 Rust、Node.js 和 Python 的原生 API。亮点和特点 原生于Rust、.

  • 深入解释Go中context使用方式

    9 11K

    这篇文章详细介绍了Go 语言中context 函数背后的实现细节和代码,帮助开发人员了解上下文包的底层工作原理。我们来看一个使用 context 包的简单示例:该函数接受一个上下文并将其传递给另一个函.

  • 使用 Go、SSE 和 htmx 实时更新网站

    26 12K

    在这个例子中,我们将在服务器端呈现 HTML,除了 htmx 库之外不使用任何 JavaScript 代码进行交互。完整示例在GitHub上。您可以使用 docker-compose 在本地运行它。使.

  • 用 GoLang 编写类似 Apache Camel 路由引擎

    23 11K

    在本文中我们将讨论的是: 用 GoLang 编写的类似 Apache Camel 的路由引擎 嵌入式 WebAssembly 引擎,用于可扩展且安全的消息路由和转换 Actors 模型 OCI 工件 .

  • reverst:通过QUIC建立HTTP反向隧道的开源工具

    101 9K

    Reverst 是一个基于 QUIC 和 HTTP/3 构建的(负载平衡)反向隧道服务器和 Go 服务器-客户端库。 Go Powered:使用quic-go以 Go 编写 兼容性:Goclient包.

  • Flowmatic:Go语言中结构化并发库

    39 2K

    Flowmatic 是一个通用的 Go 库,它提供了一种类似Nurseries的结构化并发编程方法。它让你能够以简单、有效且灵活的方式轻松管理并发任务。Flowmatic 拥有易于使用的 API,其中.

  • Rill:Go语言中并发+事务的批处理开源项目

    42 12K

    Rill(名词:小流)是一个用于流式传输、并行处理和管道构建的综合 Go 工具包。它旨在减少样板文件并简化使用,使开发人员能够专注于核心逻辑,而不会因并发的复杂性而陷入困境。通过通道转换、类型安全、批.

  • 基于DDD知识揭示Go中结构指针两个优点

    45 6K

    当谈到 Go中结构体值时,人们纠结:通过指针传递这些值还是只是复制值? 由于指针会带来一些开销,因此人们自然的反应是不惜一切代价避免使用它们,并尽可能传递结构值复制副本。 而我通常选择使用指针结构的两.

  • 我是一名程序员而且我很蠢

    249 2

    来自Anton Zhiyanov文章:我写代码赚钱已经有 15 年了:我尝试过其他角色--产品管理、分析、测试--但都没有坚持下来。这些年来,我发现自己很笨。我没有被诊断出患有任何特殊疾病,但我的智力.

  • Go 并发 2.2:错误处理模式

    49 4K

    使用Go并发帮助我们解决使用 goroutine 时的错误处理问题。错误处理错误处理需要与同步编程不同的模式。为了更好地理解这个问题,让我们看一个简单的程序:package mainimport ( .

  • Go中使用Google Wire实现依赖注入

    71 19K

    关注点分离、松散耦合系统和依赖倒置原则等都是软件工程中众所周知的概念,并且在创建良好的计算机程序的过程中非常重要。在本文中,我们将讨论一种完全应用这三个原则的技术,称为依赖注入。Wire是 Go 中用.

  • Go中用缓冲通道作为信号量限制goroutine

    40 6K

    当我们需要管理 有多少goroutine可以同时访问资源,使用信号量是一种可靠的方法。可以使用缓冲通道创建一个信号量,其中通道的大小决定了可以同时运行多少个goroutine: 一个goroutine.

  • Go文件操作综合指南

    51 37K

    Go语言的内置包使您能够在应用程序中执行各种文件操作,从写入、读取和创建文件到创建和删除目录。当执行文件操作时遇到错误时,它还会提供有用的错误消息。在 Go 中读取文件os包提供了一个ReadFile.

  • 谷歌Rust生产力高于C++两倍?

    517 2

    本周在伦敦举行的Rust Nation UK会议上,谷歌负责Android平台工具库的工程总监Lars Bergstrom介绍了将Go或C++迁移到Rust的经验。Go vs Rust在Chocola.

  • Go中使用Redis实现消息队列教程

    96 9K

    Redis 和 Golang这对充满活力的组合将彻底改变我们处理消息系统的方式。Redis 作为内存数据存储以其速度和多功能性而闻名,它与 Golang(一种以其简单性和高性能而闻名的语言)无缝协作,.

  • Rules:以YAML为输入的最小Go规则引擎

    67

    最小规则引擎,使用 yaml 作为输入,其目的是允许非程序员编辑和提供将生成特定输出的业务规则。它使用 yaml 因为有固定的语法,人们可以在线参考(不是脚本语言)。它仍然有很多冗长的内容,以方便开发.

  • Go 1.22中for循环语义变得不同了

    105 5K

    Go 1.22修改了for循环的语义!具体来说,只有在循环中声明了循环变量的 for 循环的语义发生了变化。例如,在下面这段代码中,前两个循环的语义没有变化,但后两个循环的语义发生了变化(从 Go 1.

  • Go中使用消息队列实现微服务之间异步数据处理

    84 16K

    在本文中,我们将深入研究微服务架构的世界,其中每个服务代表一个能够与其他服务协同工作的自治实体。但是如何在这样一个动态环境中管理数据呢?这正是异步成为我们盟友的地方。我们将探讨为什么异步数据处理对于微.

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

    68 13K

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

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

    269 1 2K

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

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

    104

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

  • Go 1.22中路由 URL 路由参数

    72 18K

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

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

    68

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

  • Go 1.22中HTTP包更新

    98 5K

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

  • Go中泛型和反射比较指南

    237 14K

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

  • GoRules:Go的业务规则引擎

    162 6K

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

  • Go 1.22中新HTTP路由器

    163 4K

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