Go 语言用于 Web 开发

概览

Go 为 Web 应用程序提供速度、安全性和开发者友好型工具

Go 旨在帮助开发者快速开发可扩展且安全的 Web 应用程序。Go 自带易于使用、安全且高性能的 Web 服务器,并包含其自己的 Web 模板库。Go 对所有最新技术都有出色的支持,从 HTTP/2,到 MySQLMongoDBElasticsearch 等数据库,再到包括 TLS 1.3 在内的最新加密标准。由于 Go 极强的可移植性,Go Web 应用程序可在 Google App EngineGoogle Cloud Run(易于扩展)上原生运行,或在任何环境、云平台或操作系统上运行。

主要优点

以创纪录的速度跨平台部署

对于企业来说,Go 因其提供快速跨平台部署而备受青睐。凭借其 Goroutine、原生编译和基于 URI 的包命名空间,Go 代码编译成一个单一、小巧的二进制文件——零依赖——使其非常快速。

利用 Go 开箱即用的性能,轻松扩展

Hexact Inc. 联合创始人兼首席技术官 Tigran Bayburtsyan 总结了其公司转向 Go 的五个主要原因

  • 编译成单个二进制文件 — “通过静态链接,Go 实际上将所有依赖库和模块组合成一个基于操作系统类型和架构的单个二进制文件。”

  • 静态类型系统 — “类型系统对于大型应用程序非常重要。”

  • 性能 — “Go 因其并发模型和 CPU 可扩展性而表现更佳。每当我们需要处理一些内部请求时,我们都使用独立的 Goroutine 来完成,这些 Goroutine 的资源消耗比 Python 线程便宜 10 倍。”

  • 无需 Web 框架 — “在大多数情况下,你确实不需要任何第三方库。”

  • 出色的 IDE 支持和调试 — “将所有项目重写为 Go 后,我们的代码量比以前减少了 64%。”

客户 简介 使用 Go 的项目
Caddy Caddy Caddy Caddy 2 是一个功能强大、企业级、开源的 Web 服务器,具有用 Go 编写的自动 HTTPS 功能。Caddy 比用 C 编写的服务器提供更好的内存安全性。由 Go 标准库提供支持的强化 TLS 堆栈为所有互联网流量的很大一部分提供服务。
Cloudflare Cloudflare Cloudflare Cloudflare 加快并保护数百万个网站、API、SaaS 服务和连接到互联网的其他资产。“Go 是 Cloudflare 服务的核心,包括处理高延迟 HTTP 连接的压缩、我们的整个 DNS 基础设施、SSL、负载测试等等。”
gov.uk gov.uk gov.uk Go 语言的简洁性和安全性非常适合英国政府的 HTTP 基础设施,并且对出色的 net/http 包进行的一些简短实验使 Web 开发者相信他们走在正确的道路上。“特别是,Go 的并发模型使得构建高性能的 I/O 密集型应用程序变得异常容易。”

开始使用

关于 Web 开发的 Go 书籍

  • Echo

    一个高性能、可扩展、极简的 Go Web 框架

  • Flamingo

    一个基于 Go 的快速开源框架,具有清晰且可扩展的架构

  • Gin

    一个用 Go 编写的 Web 框架,具有类似 Martini 的 API。

  • Gorilla

    Go 编程语言的 Web 工具包。

查看更多
  • net/http

    一个标准库 HTTP 包

  • julienschmidt/httprouter

    一个轻量级高性能 HTTP 请求路由器

  • gorilla/mux

    一个功能强大的 HTTP 路由器和 URL 匹配器,用于使用 🦍 构建 Go Web 服务器

  • Chi

    一个轻量级、惯用且可组合的路由器,用于构建 Go HTTP 服务。

查看更多
查看更多
  • database/sql

    一个标准库接口,支持 MySQL、Postgres、Oracle、MS SQL、BigQuery 和大多数 SQL 数据库的驱动

  • mongo-driver/mongo

    MongoDB 支持的 Go 驱动

  • elastic/go-elasticsearch

    一个用于 Go 的 Elasticsearch 客户端

  • GORM

    一个用于 Go 的 ORM 库

  • Bleve

    用于 Go 的全文搜索和索引

  • CockroachDB

    数据库的演进——专为云设计,以提供大规模弹性、一致性、分布式 SQL

查看更多
查看更多
  • gopherjs

    一个从 Go 到 JavaScript 的编译器,允许开发者用 Go 编写前端代码,这些代码将在所有浏览器中运行。

查看更多

课程

项目

  • gopherjs,一个从 Go 到 JavaScript 的编译器,允许开发者用 Go 编写前端代码,这些代码将在所有浏览器中运行。
  • Hugo,世界上最快的网站构建框架
  • Mattermost,一个灵活的开源消息平台,可实现安全的团队协作
  • Caddy,一个功能强大、企业级、开源的 Web 服务器,具有用 Go 编写的自动 HTTPS 功能