-
为什么 Go 用起来会难受?这 6 个细节你知道吗
在做新的应用选型时,我们会进行应用编程语言的选择,这时会纠结 Java、PHP、Go...各种,会思考有没有致命的问题,不能用?
-
Go Modules 介绍与基本操作
Module 是存储在文件树中的 Go 包的集合,其根目录有 go.mod 文件。go.mod 文件定义了 Module 的模块路径,该路径也是用于根目录的导入路径,以及其依赖项要求,这些依赖项要求是成功构建所需的其他模块。每个依赖项要求都编写为模块路径和特定的语义版本
-
http 代理 在Go语言这里,实现起来很简单
代理是网络中的一项重要的功能,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站,对于客户端来说,代理扮演的是服务器的角色,接收请求报文,返回响应报文;对于 web 服务器来说,代理扮演的是客户端的角色,发送请求报文,接收响应报文。
-
go也能依赖注入?进来细说
需要依赖注入时,Go有什么实现方案?本文详细介绍了使用google/wire库实现依赖注入的方法。
-
Golang事件系统Event Bus
本文介绍了事件总线实现。最近在学习开源项目Grafana的代码,发现作者实现了一个事件总线的机制,在项目里面大量应用,效果也非常好,代码也比较简单,介绍给大家看看。
-
什么是围棋?Golang 编程语言含义解释
在本文中,您将学习:Go 从哪里来,现在在哪里,为什么我认为你应该学习它,如何在 Windows 10 上安装和运行它,以及如何用 Go 编写你的第一个“Hello World”程序。
-
Go 中的数据分析——如何使用 Gota 包
数据分析是过滤、操纵和处理原始数据和数据集以从中获得洞察力的过程。 Python 和 R 通常是数据分析的首选语言。但是这些天,Go 正为此目的而变得越来越流行。 在本教程中,我们将介绍 Gota(Go 中的数据分析包)及其核心功能和用途。 先决条件 了解 Golang 中的函数式编程。 安装了 Go 的 Golang IDE(我使用 Goland 和 Go 1.17.6,但您可以使用其他任何版本) 什么是戈塔? Gota 是 Go 编程语言的数据框和数据整理模块。 Gota 类似于 Pytho…
-
Golang 请求限速、排队实现
概要 在调用第三方 API 的时候, 基本都有访问限速的限制条件. 第三方的 API 有多个的时候, 就不太好控制访问速度, 常常会导致 HTTP 429(Too Many Requests) 然后就会有一段时间的禁止访问. 为了应对这种限速的情况, 通过一个简单的请求队列来控制访问的速度, 之后基本没遇到过 HTTP 429 了. 实现思路 首先, 每个请求包装成一个 RequestParam 的 struct, 其中包含请求的地址,类型,参数以及 response 的 channel. 发送…
-
Golang 并发原理分析
Go语言是为并发而生的语言,Go语言是为数不多的在语言层面实现并发的语言;也正是Go语言的并发特性,吸引了全球无数的开发者。 并发(concurrency)和并行(parallellism) 并发(concurrency):两个或两个以上的任务在一段时间内被执行。我们不必care这些任务在某一个时间点是否是同时执行,可能同时执行,也可能不是,我们只关心在一段时间内,哪怕是很短的时间(一秒或者两秒)是否执行解决了两个或两个以上任务。 并行(parallellism):两个或两个以上的任务在同一时刻…
-
使用 Go 语言实现汉诺塔(Hanota)算法
我最近重温了一下《猩球崛起》这部电影。在电影中,凯撒就玩了河内塔游戏。你还有印象吗?其实独自一人玩一些游戏是好难的😭(译者不知作者为何这么说🤔,难道是无聊嘛?🤓),今天我们就用 Golang 来实现一下汉诺塔游戏。 游戏起源 相传最早发明这个问题的人是法国数学家爱德华·卢卡斯(Edouard Lucas)。 在世界中心的贝拿勒斯(印度北部)圣殿中,有三根宝石针插入了一个黄铜盘中。在印度教主神梵天(Brahma)创世时,将其中一根针上从下到上装配了 64 个金片,这也就是所谓的汉诺塔。 无论白天黑…