Go 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Go 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Go 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 BSD
开发语言 Google Go 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 编程语言
开源组织 Google
地区 不详
投 递 者 绿悠悠
适用人群 未知
收录时间 2009-11-11

软件简介

Go 是 Google 开发的一种编译型、并发型,并具有垃圾回收功能的编程语言。

Go 的表现力强、简洁、干净、高效。它的并发机制使它能够轻松地编写程序,从而最大限度地利用多核和网络机器,而它新颖的类型系统则使灵活的模块化程序构造成为可能。Go 快速编译成机器代码,但又具有垃圾回收的便利性和运行时反射的强大功能。它是一种快速的、静态类型化的、编译后的语言,感觉就像一种动态类型化的、解释的语言。

Go 语言是基于 Inferno 操作系统所开发的。Go 语言于2009年11月正式宣布推出,成为开放源代码项目,并在 Linux 及 Mac OS X 平台上进行了实现,后追加 Windows 系统下的实现。

简单的 Hello World 程序:

package main
import "fmt"
func main() {
  fmt.Printf("Hello, 世界\n")
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(67) 发布并加入讨论🔥
发表了资讯
昨天 18:34

Go 1.22 将修复 for 循环变量错误

上月正式发布的 Go 1.21 修改了 for 循环变量的语义(预览阶段,点此查看详情)。 现在,Go 团队表示 Go 1.22 会将这项特性发布为正式功能。 根据 Go 开发团队技术 leader Russ Cox (rsc) 的介绍,Go 开发者经常会犯的错误是在循环迭代结束后,保留对循环变量的引用,此时它会采用预期之外的新值。 例如下面的程序: func main() { done := make(chan bool) values := []string{"a", "b", "c"} for _, v :=...

7
4
发表了资讯
昨天 12:01

Go 团队发布组织/构建 Go module 的官方指南

Go 团队发布了一份官方指南,帮助开发者更规范地组织/构建 Go module。 刚接触 Go 的开发者常见问题之一是,“就文件和文件夹的组织布局而言,如何组织我的 Go 项目?”。这份指南就是提供建议来帮助回答这个问题。其中包括针对不同类型项目的组织/构建方式,比如简易软件包、命令行工具、两者的混合等。 Go 团队表示,为了充分利用此文档,请确保通过阅读教程和管理 Module 源代码熟悉 Go Module 的基础知识。...

1
7
发表了资讯
08/15 19:14

Go 2 永远不会给 Go 1 带去破坏性变化

上周发布的 Go 1.21 提到该版本继续保持了 Go 1 的兼容性承诺(甚至有所增强)。不过仍有人好奇,未来是否会发布一个会破坏与现有 Go 1.x 程序兼容性的 "Go 2"。 昨天,Go 开发团队技术 leader Russ Cox (rsc) 发表博客详细介绍了针对 Go 向后兼容性的改进,并回答了上面的问题。 rsc 回应称,答案是永远不会。如果所谓“破坏”是指不与旧版本兼容、不支持编译旧程序,Go 2 永远不会出现。从 2017 年开始对 Go 1 进行重大改革来...

33
0
发表了资讯
08/09 10:29

Go 1.21 正式发布

Go 1.21 已正式发布。 该版本大部分变化集中在工具链、运行时和库的实现。与往常一样,该版本保持了 Go 1 的兼容性承诺;事实上,Go 1.21 改进了这一承诺。开发团队希望几乎所有 Go 程序都能像以前一样继续编译和运行。 延伸阅读:Go 2 永远不会给 Go 1 带去破坏性变化 此外,Go 1.21 对版本编号进行了一个小更改。 过去使用 Go 1.N 来指代整个 Go 语言版本和版本系列,以及该系列中的第一个版本。从 Go 1.21 开始,第一个版本现...

14
4
发表了资讯
06/25 15:32

Go 1.21 发布首个 RC,正式版将在 8 月前推出

Go 1.21 首个 RC 已发布。 虽然这是 Go 1.21 的第一个 RC,但它的版本号却是go1.21rc2。因为开发团队在为 RC1 打上 tag 后就发现了一个 bug,所以他们马上基于该版本进行了修复并发布更新。 Go 1.21 主要变化 改进工具链 配置文件引导优化 (PGO) 功能正式 GA。 在 1.20 中处于预览阶段的启用配置文件引导优化 (PGO) 功能现已正式 GA。如果主软件包目录中存在名为default.pgo的文件,go命令将使用它来启用 PGO 构建。 Profile-gu...

21
0
发表了资讯
06/13 16:45

Go 开发团队讨论创建 math/rand/v2:引入新 API、标准库首个 v2 版本包

Go 社区正在讨论关于开发 math/rand v2 版本的相关提案。 Go 开发团队技术 leader Russ Cox (rsc) 建议将新版本的 math/rand 添加到标准库中,然后导入为 math/rand/v2。 rsc 说到,提出该提案最直接的动机是清理 math/rand 并修复许多挥之不去的问题,特别是使用过时的生成器、低效的算法以及与 crypto/rand.Read 相关的不稳定冲突。 此外还可以为标准库中的其他 v2 版本包树立标杆。因为创建 math/rand/v2 能够在一个相对较少...

2
0
发表了资讯
05/23 08:34

为什么不用 Go 开发操作系统?

本文整理自 GoLand 官方博客的一篇文章:《OS in Go? Why Not?》,探讨了为什么像 C 这样的编程语言在 OS 开发中占据优势,以及是否可以使用 Go 编写 OS。此外还提到了用 Go 开发操作系统的可行性、局限性,以及目前的部分成果。 操作系统 (OS) 是计算机系统的心脏和灵魂,它管理着计算机的硬件和软件资源,并为用户提供与计算机交互的方式。传统上,C 和 Assembly 等语言因其低开销和“接近机器码”的特性而被用于开发操作系统...

19
8
发表了资讯
05/18 07:45

Go 开发者认为错误处理 (Error Handling) 带来许多挑战

Go 博客发布了 2023 年第一季度 Go 开发者调查。共 5,844 名开发者参与了本次调查,分享了他们有关如何使用 Go、在使用 Go 时遇到的最大挑战、以及他们首要考虑的改进方向等方面的内容。 今年的调查引入了一个基于自我认定的经验水平的新细分。基于受访者对"你的 Go 经验水平如何?"这一问题的回答,细分成以下几个选项: 意识 Awareness:知道 Go,但在没有帮助的情况下无法编写简单的 Go 程序 新手 Novice:可以用 Go 完成简单...

10
3
发表了资讯
05/05 15:31

Go 文件后缀新提案:.go 变成 .ʕ◔ϖ◔ʔ

Mojo 是 AI 基础设施公司 Modular AI 最近发布的编程语言,它结合了 Python 的语法以及 C 语言的可移植性和性能,目标是使其成为 AI 研究和生产的理想选择。 根据介绍,Mojo 不仅兼容 Python,还比它快 35000 倍。详情查看:AI 开发有了新编程语言, 比 Python 快 35000 倍。 为了体现 Mojo 的“快”,其开发团队埋了一个小彩蛋——支持将 🔥 用作 mojo 的文件扩展名。你没看错,就是一把火。也就是说hello.🔥是合法的文件,...

46
9
发表了资讯
05/04 15:05

Go 1.20.4 & 1.19.9 发布

Go 1.20.4 和 1.19.9 已发布。根据公告,此次更新仍是修复安全问题。 Go 1.20.4 主要修复了以下 3 个安全相关的问题: html/template: 对 CSS 值处理不当 (CVE-2023-24539) 当插入到 CSS 上下文中时,尖括号(<>)不被认为是危险字符。包含由'/'字符分隔的多个操作的模板可能导致意外关闭 CSS 上下文,并允许在不受信任的输入下注入意外的 HTML 代码。 html/template: 对 JavaScript 空格处理不当 (CVE-2023-24540) 并非所有有效的...

1
1
发表了资讯
04/06 07:45

Go 1.20.3 & 1.19.8 发布,修复安全问题

Go 1.20.3 和 1.19.8 已发布。 两个版本的更新内容都是修复安全问题,包括对 go/parser, html/template, mime/multipart, net/http 和 net/textproto 软件包的安全修复,以及对编译器、链接器、运行时和时间软件包的错误修复。 详情查看 Release Notes。 下载地址

4
2
发表了资讯
03/20 16:40

腾讯 2022 研发大数据报告:Go 蝉联最热编程语言

腾讯发布了一份《2022 年腾讯研发大数据报告》(简称《报告》)。该《报告》由腾讯技术委员会出品,全面披露了 2022 年腾讯在研发投入、研发效能、开源协同等方面的重要数据。 研发人员占比达 74%,Go 语言蝉联腾讯最热编程语言 《报告》显示,2022年腾讯内部研发人员占比达到74%,意味着平均每四个腾讯员工中,就有三个从事研发工作。去年一年,腾讯新增研发项目超过7000个,相比2021年增长19.8%;新增代码行数29.4亿行,新增代...

53
2
发表了资讯
03/07 08:59

TIOBE 3 月榜单:Go 进入前 10,Perl 跌出前 20

TIOBE 于今天公布了 2023 年 3 月的编程语言排行榜。 自去年 9 月起,Go 语言在 TIOBE 指数中的排名就一直徘徊在 11、12 名这两个位置。到了本月,Go “不负众望“ 终于进入了前十名的行列中。 Go 是静态类型的编程语言,具有并发性和垃圾回收这样的特点,并且还有良好的性能。Docker 和 Kubernetes 等热门应用都是在 Go 的帮助下开发的。再加上 Go 语言得到了来自 Google 的支持,这些条件综合在一起,使得 Go 语言也得到了越来...

68
4
发表了资讯
02/02 07:34

Go 1.20 正式发布

继 Go 1.19 发布六个月之后,Go 1.20 现已正式发布,该版本的大部分更改都集中在在工具链、运行时和库的实现中。 下载地址:https://go.dev/dl/ Go 1.20 是最后一个可以在任何版本的 Windows 7、8、Server 2008 和 Server 2012 上运行的版本,Go 1.21 将至少需要 Windows 10 或 Server 2016。且 Go 1.20 是最后一个支持在 macOS 10.13 High Sierra 或 10.14 Mojave 上运行的版本,Go 1.21 将需要 macOS 10.15 Catalina 或更高版...

12
4
发表了资讯
01/11 09:02

开源代码托管平台 SourceHut “拉黑”Go Module 镜像

开源代码托管平台 SourceHut 宣布把 Go Module 镜像列入“黑名单”,并将于 2023 年 2 月 24 日禁止对 Go Module 镜像进行 git 访问。 据介绍,从 2 月 24 日开始,用户在从 SourceHut 仓库导入模块的 Go 软件包上使用go get或类似命令时,将会遇到类似于以下的错误消息: $ go get go: downloading git.sr.ht/~sircmpwn/foobaz v0.0.0-20230108094957-81402546c10e go: git.sr.ht/~sircmpwn/foobaz@v0.0.0-20230108094957-...

6
4
发表了资讯
2022/12/12 16:59

Go 1.20 RC1 发布

Go 1.20 首个 RC 已发布,正式版计划明年 2 月推出。 下载地址:https://go.dev/dl/#go1.20rc1 值得注意的是,Go 1.20 是最后一个支持在 macOS 10.13 High Sierra 或 10.14 Mojave 上运行的版本。Go 1.21 将需要 macOS 10.15 Catalina 或更高版本。 此外,Go 1.20 添加了对 RISC-V 上的 FreeBSD (GOOS=freebsd, GOARCH=riscv64) 的实验性支持。 Go 1.20 目前在语法方面包含 4 项变化。 从 slice(切片)到数组的转换 Go 1.7 增加...

6
3
发表了资讯
2022/12/09 08:33

基于 Go 的僵尸网络活动 Zerobot,整合了对 21 个漏洞的利用

FortiGuard Labs 最新发布的一份研究指出,研究人员在 11 月观察到了一个用 Go 语言编写的独特僵尸网络正在通过 IoT 漏洞进行传播。这个被称为 Zerobot 的僵尸网络包含多个模块,包括自我复制、针对不同协议的攻击和自我传播;还使用 WebSocket 协议与其命令和控制服务器通信。它主要针对 Linux 操作系统,以控制易受攻击的设备。 根据介绍,Zerobot 的目的是将受感染的设备添加到分布式拒绝服务 (DDoS) 僵尸网络中,以对指定目...

0
0
发表了资讯
2022/12/09 07:30

Go 1.19.4 和 1.18.9 发布,修复两个安全问题

Go 1.19.3 和 1.18.8 已发布。这些次要版本包括 2 个遵循安全策略的安全修复程序: os, net/http:避免在 Windows 上从 os.DirFS 和 http.Dir 转义 os.DirFS 函数和 http.Dir 类型提供对以给定目录为根的文件树的访问。 这些函数允许访问该根目录下的 Windows 设备文件。 例如,os.DirFS("C:/tmp").Open("COM1") 将打开 COM1 设备。 os.DirFS 和 http.Dir 都只提供只读文件系统访问。 但在 Windows 上,目录 \(当前驱动器的根)...

1
0
发表了资讯
2022/12/04 09:18

Go 1.20 将支持 wrapping multiple errors

Go 近日接受了名为「add support for wrapping multiple errors」的提案。 该项提案对错误处理进行了优化,与 Go 1.13 为错误处理提供的新功能有关:Error Wrapping。引入 Error Wrapping 后,Go 同时为errors包添加了 3 个工具函数,分别是Unwrap、Is和As。 对于「add support for wrapping multiple errors」提案,顾名思义就是一个错误可以包裹多个错误。 Unwrap() []error 提出该提案的开发者表示,重用Unwrap避免了与现有...

4
3
发表了资讯
2022/11/11 09:04

Go 语言已开源十三周年

Go 语言开发团队技术 leader Russ Cox 在博客中庆祝 Go 开源 13 周年。2009 年 11 月 10 日,Go 作为开源项目正式宣布推出,目前已开源 13 周年。 对于 Go 来说,2022 是非常重要的一年,这一年 Go 发布了 Go 1.18 和 Go 1.19 版本,下面回顾一下今年 Go 发布的新功能: Go 1.18 为语言本身带来了一项重大功能:泛型,其次还有 Go 工作区、模糊测试等重要功能。 泛型是社区呼声最大的特性,也是今年 Go 最重大的特性,它为 Go 添...

65
7
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
67 评论
470 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部