Golang简介

166 阅读5分钟

Golang简介

Golang是一种强大的开源编程语言,由谷歌公司创建,可以轻松创建强大、高效、可扩展的软件程序。许多开发团队喜欢像Golang这样的高级编程语言,以利用其软件开发工具的力量。Go作为一种开源语言,在业界正迅速流行起来。在这篇文章中,我们将探讨Golang的基础知识,它的历史,以及为什么它正在迅速流行。

Go的历史

根据官方文档,Go的诞生是出于对现有语言和环境的挫败感,而这些语言和环境是在Google进行的工作。很多现有的语言的编程已经变得困难和繁琐。程序员不得不在有效的编译、有效的执行或者方便的编程之间做出选择,因为所有这些功能在单一的编程语言中都不具备。C++和Java是静态类型的,效率更高,但不容易使用。多处理器正变得越来越流行,但大多数现有的语言并不具备在多处理器上安全有效工作的能力。在某些情况下,程序员选择动态类型的语言,如Python和Javascript,而不是C++和Java,因为它们易于使用而牺牲了效率。

谷歌为了解决这些问题,试图将解释型语言的编程便利性与静态类型和编译型语言的效率和安全性结合起来,于是创造了Go。Go还支持现代编程范式,如网络和多核计算。最重要的是,谷歌想要一种快速有效的编程语言。构建Java可执行程序需要大量的时间,而用Go语言构建一个巨大的可执行程序只需要几秒钟,即使是在一台电脑上。Go提供了对并发性、并行性、多线程、异步编程等的支持。它还有一个垃圾收集器,使并发程序的资源管理变得容易。这使得它在服务器端应用程序和网络服务中具有高度的可扩展性和效率。

谁创造了Go?

Google聚集了计算机科学领域的三位顶尖人物来创造Go:Rob Pike,Ken Thompson, 和Robert Griesemer罗伯-派克曾在贝尔实验室工作,是UNIX团队的成员。他也是UTF-8的共同创造者,这是一种普遍的字符编码方案。Robert Griesemer是谷歌的一名软件工程师,曾在谷歌的V8 JavaScript引擎上工作。肯-汤普森负责设计和实现最初的Unix操作系统,并发明了B编程语言,它是C的前身。

Go在哪里使用?

根据Go的文档,Go在谷歌内部的生产中被广泛使用。其他大型科技公司如Uber、Twitch、Dropbox等也使用Go作为其后端。Docker是最流行的容器化工具,能够创建和使用Linux容器,是用Go编写的。Kubernetes是一个可移植的、可扩展的、开源的平台,用于自动化部署、扩展和管理容器化的应用程序,用Go编写。它是由谷歌创建的,并捐赠给了CNCF或云原生计算基金会。Go正被越来越多的大型科技公司使用,因为它是一种轻量级的开源语言,适合构建微服务,而且根据Stack Overflow的数据,它是报酬最高的编程语言之一

安装Go

  1. 从官方网页上下载Go的二进制文件。你可以找到不同版本Go和不同操作系统的下载链接列表。根据你的操作系统和要求,选择你想要的版本并下载二进制文件。我建议使用最新的稳定版本。

Downloading Go

  1. 一旦档案文件被下载,将其移到/usr/local。使用下面的命令解压tar文件。
sudo tar -xvf <Version of go you downloaded>

这将在/usr/local中提取tar文件,并创建一个名为go的文件夹。

设置环境

在我们开始用Go编写和运行程序之前,我们需要配置一些环境变量。GOROOT和GOPATH是环境变量,定义了源代码的布局。本教程包括在基于Linux或Mac OS的系统中设置环境。Windows用户可以遵循本教程

GOROOT。这是一个环境变量,定义了Go SDK的位置。

GOPATH:这是一个环境变量,它列出了寻找 Go 代码的地方。

  1. 打开.profile文件,在最后添加以下几行。你也可以在.bashrc文件(针对bash用户)或.zshrc文件(针对zsh用户)中添加以下几行。我们还需要在PATH环境变量中加入/usr/local/go/bin。
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
  1. 保存.profile文件并执行以下命令。
source ~/.profile

这样我们就可以执行go命令并继续会话,而不必重新启动终端。

验证安装情况

要检查go是否已经安装在你的系统上,在终端上运行以下命令。

go version

该命令显示了当前系统上安装的Go的版本。

Go version

运行你的第一个Go程序

  1. 创建一个名为hello_world.go的文件并添加以下几行代码。
package main

import "fmt"

func main() {
	fmt.Printf("hello world\n")
}
  1. 使用命令建立该代码。
go build hello_world.go
  1. 通过运行来执行该程序。
./hello_world

Go version

你将在你的终端上看到 "hello world"。在接下来的几篇文章中,我们将了解打印hello world的代码,并探索Go的语法和功能。

总结

Golang的设计是为了在强大的开发工具和成本效益之间取得适当的平衡。它已经成为一个例子,说明我们可以通过在动态和静态语言之间取得平衡来获得两个世界的最佳效果。然而,Go仍处于早期发展阶段,每天都在快速发展。无论你是软件开发者、架构师、DevOps工程师,还是学生,现在都是学习和探索Go的最佳时机。在接下来的文章中,我们将探讨Go的基本编程概念。