Go 是一种开源编程语言,可以轻松构建简单、可靠和高效的软件。
先问一个大多数人可能会忽略的问题:Google 的这门开源编程语言叫 Go 还是 Golang?还是两个都行?给你三秒钟想一下 ...
Google 说:它叫 Go。之所以有人称它为 Golang 是由于之前的 Go 语言官网是 golang.org(因为 go.org 已经被别人用了),因此有人将 Golang 和 Go 混用了。
现在输入 golang.org 会直接跳转到 go.dev 这个网址,这也算是彻底给自家孩子正个名。
官网是这样介绍 Go 语言的:
今天,Go 被用于各种应用程序:
这也就是为什么 Go 越来越流行。
正是因为这些优势以及在工作上的需要写一个 CLI,我就入门 Go 语言了。
Go 语言在国内热度可谓是非常高了,我们来看看 Go 语言目前最新的排名怎么样。
这是 TIOBE 2022 年一月排名前 20 编程语言,可以看到 Go 语言位于这个排行榜的第 13 位,相比于去年上升了一位。
对比排在榜单前五的 Python,C,Java,C++,C#,你觉得 Go 能否追上它们呢?
从我身边非云厂商的公司和同事来看,目前大多数都是 C/C++,Java,C#,Python 的开发人员,所以这个排名我认为还是挺符合预期的。
Python 已有 30 多年的历史,但它的受欢迎程度仍在继续增长。Python 是一门出色的面向对象语言,你也可以使用函数式编程风格来编写代码。在所有编程语言中,你可能找不到一种比 Python 被更多非程序员使用的语言。
那么 Go 与 Python 相比如何呢?
今天 Python 和 Go 都是目前最流行和最方便使用的两种编程语言。对于初学者应该是学习 Python 还是 Go ?
我最早是在 2010~2020 期间看过 Go 语言的视频教程,但由于没怎么动手写过,一直处在只知其一不知其二的阶段。
对于新手学习任何一门编程语言,看教程大概只能学会 30%,想要真正的学会必须亲自上手实践,否则一定会是:“一看就会,一写就废”。
我的方向就是写一个 CLI 工具。尽管 Go 语言内置的 Flag 这个 package 可以用来编写 CLI 命令,我也看了很多使用 Go 开发的 CLI 项目后,注意到这些项目都没有使用内置的 Flag 包,而是绝大多数使用了 spf13/cobra 或 urfave/cli。
对于我这样的初学者,最重要的是马上开始,因此在选择的框架的时候不需要花费太多时间,cobra 有那么多优秀的项目背书,跟着用就行,最重要的是尽快动手。在编码的过程中,选择同样使用该框架的顶级项目做参考,这能帮助我们通过阅读别人的代码也让我们自己写出更优秀的代码。千万不要去 Ctrl + C 然后 Ctrl + V。
最后,再分享几个在开发 CLI 时一切其他的优秀项目。比如: