很多人第一次接触Go语言时,都会在搜索引擎里敲下“golang”这个词。然后看到一堆官方文档、社区帖子,标题里赫然写着“golang.org”。于是疑问就来了:Go语言到底叫Go还是Golang?这两个名字是不是指同一个东西?
答案是:Go语言就是Golang,Golang就是Go语言。它们指的是同一种编程语言,没有区别。但这里有个有趣的细节——这个双名字的来历,其实是个域名故事。
2009年,Google的罗伯特·格里泽默、罗布·派克和肯·汤普森发布了这门新语言。他们给它取的名字很简单:Go。但问题来了,“go”这个单词太普通了,全球有无数项目、产品甚至公司叫Go。当团队想注册go.org时,发现域名早被人抢注了。无奈之下,他们选择了golang.org作为官方域名。
这个域名选择反而成了意外之喜。因为“golang”这个词在搜索引擎里辨识度极高,开发者一搜就能找到官方资料。久而久之,社区里“Golang”的叫法越来越流行,甚至很多官方文档、演讲里也混用这两个词。你看Go语言的吉祥物,那只可爱的土拨鼠,官方名字就叫“Go Gopher”,但没人会叫它“Golang Gopher”。
实际操作中,这两个词的使用场景有些微妙差别。在技术讨论里,老开发者更喜欢说“Go”,比如“我用Go写了个并发爬虫”。而新手或者面向搜索引擎的场景,更常出现“Golang”,比如“Golang教程”“Golang面试题”。这有点像北京的“胡同”和“巷子”,意思一样,但不同人群用词习惯不同。
还有个更实际的例子:你在终端里运行命令时,用的是
go version,不是golang version。文件后缀是.go,不是.golang。但当你去下载安装包,访问的却是golang.org/dl。这种分裂感,就像一个人有正式身份证名字和日常昵称,两个都指代同一个人。我见过有些刚入行的朋友,在简历上写“熟悉Golang”,面试时被问“Go和Golang有什么区别”,一时语塞。其实面试官可能只是想看看你是否真的了解这门语言的历史背景,而不是背概念。如果当时你能说出“Golang只是Go的官方域名衍生叫法,语言本身只有一个名字叫Go”,这个回答就能加分。
不过说句实在话,Google官方其实更倾向用“Go”来指代语言本身。你看官方文档的标题,大多是“The Go Programming Language”,很少用Golang。但官方博客的URL里又全是golang。这种混乱连官方自己都没完全统一,所以普通开发者更没必要纠结。
如果你去GitHub上搜项目,会发现用“Go”做关键词的仓库和用“Golang”做关键词的仓库数量都不少。有些项目甚至两个标签都打,就是为了方便搜索。这背后反映的是真实世界的使用习惯——人们怎么方便怎么来,语言设计者最初定的名字反而被稀释了。
我的建议很简单:正式交流、写代码、看文档时,用“Go”。搜索资料、看社区讨论、下载工具时,心里知道“Golang”就是“Go”就行。别在这两个词上浪费太多脑细胞,它们就像同一个人的中文名和英文名,叫哪个都能找到对的人。
下次再有人问你这个问题,你甚至可以反问一句:“你觉得Java和JavaScript是同一个东西吗?”对方要是说不是,你就笑着告诉他:“对,但Go和Golang还真是同一个。”这个冷知识,够你在技术聚会上聊五分钟了。
顶: 9684踩: 11254






评论专区