Go语言初探 搭建Mac环境

文章部分内容来自该博客

Go语言为并发而生

如上所述,硬件制造商正在为处理器添加越来越多的内核以提高性能。所有数据中心都在这些处理器上运行,更重要的是,今天的应用程序使用多个微服务来维护数据库连接,消息队列和维护缓存。因此,开发的软件和编程语言应该可以轻松地支持并发性,并且应该能够随着CPU核心数量的增加而可扩展。
但是,大多数现代编程语言(如Java,Python等)都来自90年代的单线程环境。虽然一些编程语言的框架在不断地提高多核资源使用效率,例如 Java 的 Netty 等,但仍然需要开发人员花费大量的时间和精力搞懂这些框架的运行原理后才能熟练掌握。
Go于2009年发布,当时多核处理器已经上市。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。
很多公司,特别是中国的互联网公司,即将或者已经完成了使用 Go 语言改造旧系统的过程。经过 Go 语言重构的系统能使用更少的硬件资源获得更高的并发和I/O吞吐表现。充分挖掘硬件设备的潜力也满足当前精细化运营的市场大环境。

Go语言的并发是基于 goroutine 的,goroutine 类似于线程,但并非线程。可以将 goroutine 理解为一种虚拟线程。Go 语言运行时会参与调度 goroutine,并将 goroutine 合理地分配到每个 CPU 中,最大限度地使用CPU性能。开启一个goroutine的消耗非常小(大约2KB的内存),你可以轻松创建数百万个goroutine

Go性能强悍

在这里插入图片描述
可以看出,Go 语言在性能上更接近于 Java 语言,虽然在某些测试用例上不如经过多年优化的 Java 语言,但毕竟 Java 语言已经经历了多年的积累和优化。Go 语言在未来的版本中会通过不断的版本优化提高单核运行性能。

Go开发效率高

在这里插入图片描述
Go语言实现了开发效率与执行效率的完美结合,让你像写Python代码(效率)一样编写C代码(性能)。

Go语言

目前Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。

Go语言简单易学,天生支持并发,完美契合当下高并发的互联网生态。Go语言的岗位需求持续高涨,目前的Go程序员数量少,待遇好。

抓住趋势,要学会做一个领跑者而不是跟随者。

国内Go语言的需求潜力巨大,目前无论是国内大厂还是新兴互联网公司基本上都会有Go语言的岗位需求。
在这里插入图片描述

Go语言Mac环境搭建

Go准备工作

下载和安装

Go官网下载地址: Go官网下载地址 国内可能被限制

Go官方镜像站(推荐):Go官方镜像站
在这里插入图片描述
我们推荐选择最新的版本,点击Apple macOS,即可下载。在这里插入图片描述安装的操作十分简单,默认会将Go安装到/usr/local/go目录下。

检查

上一步安装过程执行完毕后,可以打开终端窗口,输入go version命令,查看安装的Go版本。
在这里插入图片描述
可以看到我这里装的是go1.13.8版本。

Go项目结构

在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在工程经过go buildgo installgo get等指令后,
会将下载的第三方包源代码文件放在$GOPATH/src目录下。
产生的二进制可执行文件放在 $GOPATH/bin目录下。
生成的中间缓存文件会被保存在 $GOPATH/pkg下。

如果我们使用版本管理工具(Version Control System,VCS。常用如Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可。binpkg 目录的内容无需版本控制。

目前流行的项目结构

Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了。

因为不是每个个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的github用户名来区分不同的包。

在这里插入图片描述
所以我们也按照上面的项目结构构建自己的项目。
在这里插入图片描述
首先新建一个文件夹用来管你所有的项目。这里我创建的是Go,然后我们创建子文件夹binpkgsrc,将所有的代码资源文件存于src中。在src中创建github.com子文件夹,接着创建与自己github账号的文件夹,这样就搭建了一个基本的Go项目结构。

配置GOPATH等环境变量

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

终端输入命令 sudo vim ~/.bash_profile,然后添加环境变量GOPATH、PATH、GOBIN。
在这里插入图片描述

- GOPATH: 日常开发的根目录。
- GOBIN:是GOPATH下的bin目录。
使用方法一安装,可配置
export GOPATH=日常开发根目录
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

然后esc :wq退出保存。接着执行source ~/.bash_profile完成对Go环境变量的配置。
然后go env检查go的环境变量。
在这里插入图片描述

Go开发编辑器

Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,这里推荐使用VS Code

VS Code介绍

VS Code全称Visual Studio Code,是微软公司开源的一款免费现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,支持 Win、Mac 以及 Linux平台。

虽然不如某些IDE功能强大,但是它添加Go扩展插件后已经足够胜任我们日常的Go开发。
VS Code官方下载地址:VS Code
也是一步式安装下载,这里不再介绍,网上也有很多教程(配置中文,安装插件)。
我们需要安装go插件
在这里插入图片描述

第一个Go程序

创建文件夹,创建main.go程序。
在这里插入图片描述

package main  // 声明 main 包,表明当前是一个可执行程序

import "fmt"  // 导入内置 fmt 包

func main(){  // main函数,是程序执行的入口
	fmt.Println("Hello World!")  // 在终端打印 Hello World!
}

我们会编译失败,因为我们bin目录下没有go的各种包,我们需要手动下载添加。
在这里插入图片描述

在这里分享给大家了 链接:https://pan.baidu.com/s/1Kd6FUtxkbciXuR0IO5LQSQ 密码:sxdh

在这里插入图片描述

go build

go build表示将源代码编译成可执行文件。

在指定项目文件下执行go build,生成可执行文件helloworld与项目名相同。
在这里插入图片描述

人生苦短,Go在旅途

发布了55 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/WxqHUT/article/details/104300051