Go Wiki: 首页
欢迎来到 Go wiki,这里收集了有关 Go 编程语言 的信息。 Awesome Go 是 Go 程序员的另一个很棒的资源,由 Go 社区维护。
如果您在此页面上找不到所需的内容,请参阅 所有页面列表。
有关 Go 的问题
请参阅 问题。
请勿通过编辑或创建维基页面来提问。任何此类更改将被静默还原。
贡献
- 如果您想添加新页面,请先在 Go 问题跟踪器 中打开一个以
wiki:
为前缀的问题,以提议添加内容。清楚说明为什么内容不适合任何现有页面。 - 由于重命名维基页面会破坏外部链接,因此请在重命名或删除任何维基页面之前先打开一个问题。
请参阅 贡献 以获取有关贡献的更多信息。
目录
- Go 入门
- 使用 Go
- 深入了解 Go
- Go 社区
- 使用 Go 工具链
- 其他 Go 编程 Wiki
- 与 Go 协作的在线服务
- 生产环境中 Go 程序的故障排除
- 为 Go 项目贡献代码
- 平台特定信息
- 版本特定信息
- 问题
Go 入门
- Go 语言之旅 是最好的起点。
- Go 编程指南 将帮助您学习如何编写符合 Go 习惯的代码。
- Go 标准库文档,熟悉标准库。
- 使用 Go Playground 在浏览器中测试 Go 程序。
- 仍然不相信?查看此 Go 用户 列表以及他们的一些 成功案例。我们还整理了一份关于 为什么您应该尝试 Go 的原因的冗长列表。
- 了解哪些公司已 从其他语言迁移到 Go。
使用 Go
准备编写自己的 Go 代码?以下是一些帮助您入门的链接。
- 安装和设置环境
- 从这里开始:官方安装文档
- 如果您更喜欢从源代码安装,请先 阅读此内容。
- InstallFromSource - 有关源代码安装的其他提示。
- Windows 用户?为 Windows 安装和配置 Go、Git 和 Visual Studio Code
- Mac 用户?我的入门方式 - Go - 一份安装 Go 和构建您的第一个 Web 服务的分步指南。
- 安装遇到问题?InstallTroubleshooting
- 确保您的 $GOPATH 环境变量设置正确
- 如果您需要有关使用 $GOPATH 的更多提示,请点击此处。
- Go IDE 和编辑器 - 有关如何在 Go 中使用您最喜欢的编辑器的信息。
- 用于处理 Go 代码的工具 - 格式化、代码检查、验证、重构、导航和可视化。
- 查找 Go 库和包
- 从这里开始:Go 开源项目。
- 搜索 Go 包:pkg.go.dev
- Go 开源包图 的可视化
- 模块 - 有关 Go 命令中内置的依赖关系管理系统(在 1.11 中添加)的文档。
- 发布 Go 包作为开源软件
深入了解 Go
在您概述了该语言之后,以下是一些可用于进一步学习的资源。
- 学习 Go - 一系列资源,用于学习 Go - 从初学者到高级。
- 面向新 Go 开发者的最佳实践 - 来自 Go 社区成员的见解。
- 服务器编程 - 构建 Web、移动和 API 服务器。
- 更多关于并发性的内容
- 更多关于错误处理的内容
- 更多关于测试的内容
- 更多关于移动端 - Android 和 iOS 的内容
- 书籍 - 已出版的 Go 图书列表(电子书、纸质书)。
- 博客 - 关于 Go 的博客。
- 播客 - 播客和包含 Go 的剧集。
- 视频、演讲和演示
- GopherVids(目前无法访问)是一个关于 Go 的视频可搜索索引。
- GoTalks - 一系列来自 Go 会议和聚会的演讲。
- 直播 - 与社区成员进行的实时互动式 Go 项目流。
- 视频教程
- 文章 - 一系列文章,帮助您进一步了解 Go。
- 培训 - Go 的免费和商业、在线和课堂培训。
- 大学课程 - 使用 Go 的 CS 程序和课程列表。
- 非英语人士的资源
Go 社区
以下是一些您可以在线找到 Gopher 的地方。要了解成为 Go 社区成员的意义,请阅读 Damian Gryski 在 GolangUK 2015 会议上的主题演讲 或观看 Andrew Gerrand 在 GopherCon 2015 上的闭幕主题演讲。
- Gopher 在线闲逛的地方
- Go 论坛 - Go 社区的全方位讨论论坛。
- Gophers Slack 频道 - 用于实时聊天(申请加入)。
- Golang 新闻 - 用于精选 Go 编程相关链接。
- 还有一个 /r/golang 子reddit。
- 在 Mastodon 上,请关注 @golang 帐户并关注 #golang 标签。
- 在 Twitter 上,请关注 @golang 帐户并关注 #golang 标签。
- 我们还在 Stack Overflow 上为 Go 问答提供了一个登录页面。
- 矩阵爱好者可以加入 #Go:matrix.org。
- Discord 用户可以在 Discord Gophers 服务器上交流。
- Hashnode 用户在 Hashnode Go 社区 中讨论和撰写关于 Go 的内容。
- 邮件列表
- Go 用户的邮件列表是 golang-nuts - 交通流量非常大。
- 在发帖之前,检查一下是否已经有人回答过,然后阅读 如何提出好问题的技巧
- 要讨论 Go 开源项目的核心内容,请加入 golang-dev。
- 要获取我们的发行公告,请加入 golang-announce
- Go 用户的邮件列表是 golang-nuts - 交通流量非常大。
- 用户组和聚会 - 许多城市都有 Go 聚会
- GoBridge - 志愿者帮助代表性不足的社区学习技术技能,并在 Go 中培养多样性。
- 女性 Go 用户
- 请参阅此处以获取 有关 GoUserGroups 的更多信息
- GoDiscourse - Go Discourse 是一个由
hello world
提供支持的开源 Go 基于论坛。
- 会议 - 一系列即将举行的和过去的 Go 会议和重大活动。
- 使用 Go 的公司 - 一份使用 Go 的全球公司综合列表。
- 了解有关 Go Gopher 图像 的更多信息,这些图像由 Renee French 创建。
使用 Go 工具链
- 从
go
命令的标准文档开始,点击此处 - 从这里开始了解有关 供应商 的信息。
- 交叉编译
- 共享库和 Go(buildmode)
- Go 共享库 - 从 Go 和 Python 创建和使用共享库的示例。
- 与 C 共享 Go 包 - 由 @ralch 撰写。
- 从 Python 调用 Go 库 - 由 Filippo Valsorda 撰写
- 从 Ruby 调用 Go 库 - 由 Peter Hellberg 撰写
- 从 Swift 调用 Go 库 - 由 Jaana Burcu Dogan 撰写
- 使用 Go 本机扩展构建 Ruby Gem - 由 @jondot 撰写
- gohttplib - 使用 Go 1.5 buildmode=c-shared 的实验。
- 请参阅以下维基以获取更多详细信息
- GoGetTools
- GoGetProxyConfig
- cgo
- CompilerOptimizations
- GccgoCrossCompilation
- GcToolchainTricks
- GoGenerateTools
- Go 工具必备 - 由 Jaana Burcu Dogan 撰写
其他 Go 编程 Wiki
-
AI
- AI - 从 Go 访问 AI(人工智能)和 LLM(大型语言模型)服务
-
并发性
-
使用数据库
- database/sql - 使用 database/sql 包的在线教程。
- SQL驱动程序
- SQL接口
-
来自其他语言
-
字符串
与 Go 协作的在线服务
如果您正在寻找支持 Go 的服务,以下列出了一些供您开始使用。
- 云计算 - Go 受到大多数云服务提供商的良好支持。
- 持续集成和持续部署 - Go 受到大多数 CI/CD 框架的良好支持
- 监控/日志记录
- OpsDash - 基于 Go 的集群监控平台。
- 包和依赖项管理
- Gopkg.in 是一个由 Gustavo Niemeyer 提供的稳定 Go 库来源。
生产环境中 Go 程序的故障排除
- 使用pprof 包了解 Go 应用程序的性能
- 堆转储
为 Go 项目贡献代码
- 首先阅读Go 贡献指南
- 如果您想对 Go 项目提出更改,请首先阅读Go 更改建议流程
- 设计文档的存档也可用
- Go 版本发布间隔约为 6 个月。 请在此处了解更多信息
- 想知道更多关于Go 源代码 X 存储库的结构吗?
- Go 项目要求所有代码在提交之前进行审查。
- 问题
- 错误报告和功能请求应使用GitHub 问题跟踪器提交
- 您想知道我们如何处理报告的问题吗?
- 项目仪表板
平台特定信息
请参阅最低要求,了解当前 Go 端口的最低平台要求。 考虑将 Go 移植到新平台? 首先阅读我们的移植策略。
备注
- 请勿更改维基页面的标题,因为其中一些页面可能从golang.org或其他网站链接
此内容是Go Wiki的一部分。