一些GO资料

339 阅读9分钟

Go 语言的新 Logo

Go 编程语言发布新的 Logo, 很有现代感。大家往往忽略,编程语言其实也存在市场竞争,只有注意包装自己的语言才有更好的市场份额,从而得到更大的社区、更多的资源。

goproxy

Go 语言实现的高性能 http、https、websocket、tcp、udp、socks5 代理服务器。

Gitea

类似于 GitHub 和 GitLab 的开源项目,用于个人架设 Git 代码托管服务,使用 Go 语言实现。

[PPT] Docker and Go(英文)

2013年的时候,Docker 团队介绍他们为什么使用 Go 语言写 Docker。

Web Assembly 和 Go(英文)

Go 1.11 将支持 Web Assembly,作者尝试用 Go 写了一个 TodoMVC。他的结论是:"WebAssembly是 Web 开发的未来。两年后,Go、Swift、Rust 将占到前端代码的三分之一。

这里还有一篇文章,展示了两个用 Go 语言写的 WebAssebmly demo。

Go101(英文)

*Go 101 *是一本介绍 Go 语言的语法和各种细节的开源电子书,帮助读者深入彻底地了解 Go。

vertigo

一个 Go 语言写的博客内核,适合在它的基础上进行开发。最大特点就是所有功能都提供 REST 接口。

prose

Go 语言写的自然语言处理工具,目前只能处理英语。

最简单的反向代理服务器(英文)

本文介绍如何用 Go 语言实现一个最简单的反向代理服务器。

Go 与 Python 的比较(英文)

本文介绍 Go 语言对比 Python 的优点。

二叉树算法介绍:go 语言实现为例(英文)

这篇文章很不错,用最简单的语言介绍了二叉树和 go,还有大量配图。

Go 语言诞生时,我们称它为系统编程语言,我有点遗憾,因为很多人因此认为它是一种操作系统编写语言。我们应该称它为服务编写语言,这是我们真正想做的。现在我想明白了,Go 是云基础架构语言,因为系统编程的另一个定义是云中运行的东西。

-- Rob Pike

ferret

Go 语言写的 web scraping 工具,主要特点是操作过程是声明式的,非常易写。

Go 语言与 Rust 语言的比较(英文)

使用 Go 编写前端 Web 框架(英文)

本文使用 Go 语言编写一个非常简单的前端单页应用,然后将它编译成 WebAssembly。所有功能,包括前端组件和前端路由,都是用 Go 写的。看上去,网页编程即将不再是 JS 的专利了。

Go modules by example

一个代码示例库,解释 Go 语言的 module 功能。

JSCity

该工具可以将 JS 项目的源代码显示为一座城市。还有一个类似的项目,专用于 Go 语言。

BaiduPCS-Go

百度网盘的命令行客户端,使用 Go 语言开发。(@Seven-Steven 投稿)

writefreely

一个 Go 语言写的博客软件,类似 WordPress,特点是非常简洁。

ssh-chat

Go 语言实现的 SSH 服务端,用于登录用户之间的聊天,可以用 ssh chat.shazow.net 命令体验。(@zrt 投稿)

aminal

一个使用 Go 语言开发的命令行终端模拟器。

Golang Example

该网站收集 Go 语言的各种应用实例。

Go by Example

通过示例学习 Go 语言的教程。

Go 语言编程风格的最佳实践(英文)

Go 语言编程风格的最佳实践(英文)

作者谈了一些建议,如何编写可维护的 Go 语言代码。

单页应用的二进制打包(英文)

本文介绍了一种方法,将网站打包成一个 Go 语言的二进制程序。启动网站,就是运行这个程序。

50万行 Java 代码移植到 Go 语言的感想(英文)本文作者将一个大型 Java 项目改为使用 Go 语言,详细比较了 Java 与 Go 的一些差异。

fyne

跨平台的 Go 语言的图形界面库。

Go 语言为什么快的5个原因(英文)

本文从计算机底层分析 Go 语言运行速度快的五个原因。(@NeoTse 投稿)

excelize

一个读写微软 Excel 文件的 Go 语言库。

Go 语言入门(英文)

一篇 Go 语言初学者入门教程,文章较长。

go-pry

Go 语言互动式的 REPL 环境,可以直接运行 Go 脚本。

Vugu

一个使用 Go 语言写 HTML 前端页面的工具。完全不用 JavaScript,就能写出前端页面。未来的全栈将不再限于 JS,后端语言都可以写前端。

bild

一个图像处理的命令行工具,Go 语言编写。可以通过命令行参数,调节亮度、饱和度、模糊、锐化等。

Golangbot 的 Go 语言初级教程(中译)

Go 语言风格规范

Uber 公司开源了该公司的《Go 语言风格规范》。

imgproxy

一个 Go 语言写的图片代理网关,可以代理远程图片,并且提供格式转换和大小缩放功能。

Shiori

Shiori 是一个自己架设服务的网址书签管理器,使用 Go 语言编写。

Daily-warm

一个 Go 语言脚本,每天向指定邮箱发送一封邮件,里面是天气、名言、诗歌。(@BarryYan 投稿)

snake-go

Go 语言写的命令行贪吃蛇游戏。

我们为什么选择 Go 语言?(英文)

可汗学院的后端是用 Python 2 写的,本文介绍为什么他们不升级到 Python 3,而是选择用 Go 重写。

从头构建一个 BitTorrent 客户端(英文)

本文介绍 BitTorrent 点对点下载的原理,并给出 Go 语言的实现。

7天用 Go 从零实现系列

使用 Go 语言,从零开发一些常用 App 的代码示例。(@geektutu 投稿)

netgraph

一个 Go 语言写的 HTTP 抓包分析器,带有 Web 界面。(@ga0 投稿)

Go 101

免费的英文电子书,介绍 Go 语言的基本语法。

esbuild

一个用 Go 语言写的 JS 脚本打包工具,根据作者提供的数据,打包时间仅仅是 Webpack 的几十分之一。

Go 语言示例教程

该仓库是一个 Go 语言初学者教程的示例库,收集了1000多个示例、练习和问题。

goblog

一个极小的个人博客网站 Go 语言实现,总共不到500行的后端代码,基本功能都具备,包括文章的分页展示、分类、访问量统计、排行、留言评论等。(@yangyongzhen 投稿)

Go 语言编程

GitHub Actions 的 Go 语言示例(英文)

本文介绍如何在 GitHub 仓库里面定时跑 Go 语言脚本,再将代码推送回仓库。

如何自己实现一个全文搜索引擎(英文)

作者通过一个简单的例子,讲解全文搜索引擎的原理,自己如何实现倒排索引。举例用的是 Go 语言,代码很简单,接近伪代码。

Go-Diagrams

一个 Go 语言的图表生成软件。

elsa

一个用 Go 语言写的轻量级的 JavaScript 和 TypeScript 运行时。

youtube

一个 Go 语言写的 Youtube 视频下载工具,youtube-dl 的替代品。

Play with Go

Go 语言教程网站,提供一系列互动式入门教程。

email-verifier

Go 语言写的 Email 地址检验库,判断是不是假地址。判断原理参见这篇文章。(@lryong 投稿)

go-zero

国内开发者写的 Go 语言 Web 和 rpc 框架,有中文文档。(@yuexing0921 投稿)

Go 语言高性能编程

为什么 Go 是我最喜欢的编程语言?(英文)

一个程序员总结的 Go 语言的优点,文章没有展开,只是罗列了优点。

Notify

一个 Go 语言的库,用来通过各种渠道向用户发通知,支持 Discord、Email、Microsoft Teams、Slack、Telegram 等。

Gotify

一个 Go 语言写的 WebSockets 库,有服务端、客户端和安卓端。

Go 实用教程(Practical Go Lessons)

一本很不错的 Go 语言的英文教程,从零讲起。

通过 Go 语言学习测试驱动开发

中文电子书,通过编写测试用例学习 Go 语言,为测试驱动开发打下基础。

Golang-iDevice

一个 Go 语言开发的工具,用来与 iOS 设备通信,可以作为库使用,也可以在命令行独立使用。(@electricbubble 投稿)

使用 Go 语言学习蒙特卡洛模拟(英文)

本文采用 Go 语言,使用各种小例子,讲解什么是蒙特卡洛模拟。

Linux 系统的磁盘分析工具 gdu 用法(英文)

gdu 是 du 命令的 Go 语言版,用来分析 Linux 和 MacOS 系统的磁盘占用情况,提升了执行速度,并且有命令行图形界面。

Golang Security Checker

一个开源的 Go 语言代码的安全扫描工具,静态扫描代码里面的安全漏洞。

Imagor

一个 Go 语言写的图像处理服务器,可以快速返回各种大小的图像缩略图。

Photoview

一个开源 Web 相册程序,Go 语言写的,使用 Docker 安装,可以用来快速架设个人相册。

go-mitmproxy

Go 语言写的中间人拦截工具,可以拦截 HTTPS 通信,带有插件扩展功能和 Web 界面。(@lqqyt2423 投稿)

Golang 学习资源大全

一个中国开发者整理的 Go 语言学习资源。(@0e0w 投稿)

go-zero

Go 语言的微服务框架,内置丰富的微服务能力,可以很方便地将 Go 脚本架设成服务。(@kevwan 投稿)

Bud

一个 Go 语言的全栈 Web 框架,用它来写网站的前端和后端,编译成一个二进制可执行文件,放到服务器上就能直接运行,不需要其他文件。

Go 语言只报告编译错误,从不发出警告。因为我们认为,如果值得警告,那就值得在代码中修复。如果不值得修复,那就不值得一提。

-- Go 官方文档

infinite

Go 语言的交互式命令行组件库,提供 progress、group、mulit select、input text、confirm 等常用组件。(@fzdwx 投稿)

Simple Admin

一个 Go 语言写的微服务后端管理系统。(@suyuan32 投稿)

Sonic

一个 Go 语言开发的博客平台,支持 Linux/Windows/MacOS,系统资源占用小,自带管理后台。(@1379 投稿)

xfrpc

内网穿透工具 frp 的 C 语言客户端。原本的 frp 客户端使用 Go 语言,可执行文件较大,无法安装在路由器上,用 C 语言实现就可以了。(@liudf0716 投稿)

6、LFU 算法的一种实现(英文)

LFU 是常用的删除过期缓存的算法,本文介绍了它的一种代码实现。

Golangbot 的 Go 语言初级教程(中译)

Golangbot 是国外开发者写的 Go 的初级教程,对小白和基础比较薄弱的开发者比较适用。作者没有讲很高深的理论,而是用很多简单的例子和代码进行讲解。(@hznuksco 投稿)