脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - Go语言快速入门图文教程

Go语言快速入门图文教程

2021-06-26 01:46异常编程 Golang

Go是 Goolge 开发的一种静态型、编译型、并发型,并具有垃圾回收功能的语言,Go 语言上手非常容易,它的风格类似于 C 语言,Go 语言号称是互联网时代的 C 语言,那么它到底有多火呢,一起看看吧

推荐阅读:

go语言最新版激活教程可以点下这个链接查看

goland永久安装教程,点击此处查看

Go 这几年很火,小哈也蹭业余时间悄咪咪学习一下(我大 Java 依旧无敌),虽然暂时公司技术栈用不到,但保不准后面有新项目选型 Go, 到时候就能直接干活了。

技术储备还是要有的,我们要偷偷努力,然后惊艳所有人,哈哈~ 废话不多说,开干!

一、什么是 Go 语言?

Go(又称Golang)是 Goolge 开发的一种静态型、编译型、并发型,并具有垃圾回收功能的语言。

罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计了Go语言,设计初衷是为了提高在多核、网络机器(networked machines)、大型代码库(codebases)的情况下的开发效率。当时在Google,设计师们想要去除主流编程语言中目前存在的缺点,只吸取它们的优点用于 Go 语言之中。

Go于2009年11月正式开源,同时支持 Linux、MacOS、Windows 等操作系统。

2016年,Go语言被 TIOBE 评为 "年度最佳语言"。

二、Go 语言特性

  • Go 语言上手非常容易,它的风格类似于 C 语言,但是其语法在 C 语言的基础上做了大幅度简化,如去掉了冗余的表达式括号,循环遍历也只有 for 一种写法等;
  • 工程结构简单;
  • 代码可读性和易用性高;
  • 编译速度快,由于其语法简单、工程结构设计严谨、没有头文件、无包交叉依赖等特点,很大程度上节约了编译所需耗时。
  • 高性能,原生支持并发。Go 语言的并发基于 goroutine, 它类似于线程,但并非线程。Go 语言运行时,会参与调度 goroutine, 并将 goroutine合理的分配到每个 CPU 中,从而最大程度的保证 CPU 的使用率。
  • 丰富强大的标准库,其中包括网络、图形、系统、加密、编码等各个方面。

三、Go 语言有多火 ?

Go 语言号称是互联网时代的 C 语言,那么它到底有多火呢?

1.绝大多数的云原生项目都是用 Go 语言编写的,比如:

  • Docker: 容器化技术;
  • Kubernetes: 构建于 Docker 之上的容器调度服务;
  • etcd: 一款分布式、可靠的 KV 存储系统;
  • Istio: 一个与 Kubernetes 紧密结合的适用于云原生场景的 Service Mesh 形态的用于服务治理的开放平台;
  • Prometheus: 一个开源的服务监控系统和时间序列数据库;
  • ...

2.Go 语言将会成为云计算时代的基础设施编程语言,比如区块链明星项目 Hyperledger、NewSQL , 明星项目 TiDB 也是基于 Go 语言的;

3.Go 语言已经成为下一个企业级编程语言,包括字节跳动、滴滴、腾讯、阿里巴巴在内的一线互联网公司都在使用。

Go语言快速入门图文教程

四、下载 Go 安装包

想要学习 Go 语言, 首先得下载 Go 语言安装包。可以前往如下两个网站下载:

Golang 中国: https://golang.google.cn/dl/

Go 语言官网: https://golang.org/dl/

提示: Go 语言官网需要科学上网才能访问,推荐到第一个链接进行下载。

访问成功后,如下图,根据自己的系统,选择对应的 Go 语言安装包,点击下载即可。

Go语言快速入门图文教程

下载好对应系统安装包后,可参见后续章节的安装说明:

若你选择从源码构建,可参考 官方构建文档

另外,Go 语言历史版本,请参见: http://docs.studygolang.com/doc/devel/release.html

相关说明

 

文件名 说明
go1.15.3.windows-amd64.msi Windows 平台安装包
go1.15.3.linux-amd64.tar.gz Linux 平台安装包
go1.15.3.darwin-amd64.pkg MaxOS 平台安装包
go1.15.3.src.tar.gz Go 语言源码包,作研究用,日常开发不推荐下载

 

五、安装 Go 语言环境

Windows 安装 Go

本小节,小哈将演示如何在 Windows 系统上安装 Go 语言环境。

Go语言快速入门图文教程

PS: 关于安装包名称,你需要了解的:

1.15.4 表示的是当前 Go 安装包的版本号;

windows 表示这是 Windows 系统的安装包;

amd64 表示匹配 64 位的 CPU;

下载完成后,双击安装包开始安装:

Go语言快速入门图文教程

点击 Next

Go语言快速入门图文教程

这里 Go 开发包的默认安装路径为 C:\Go\, 推荐使用这个默认路径。

Go语言快速入门图文教程

安装完成后,我们可以到 C:\Go\ 目录下,看看目录结构:

Go语言快速入门图文教程

Go 安装目录说明

 

目录名 说明
api 各个版本 api 变更差异
bin go 源码包编译出来的编译器、格式化工具、文档工具等
doc 英文版的 Go 文档
lib 依赖的一些库文件
misc 其他用途的相关文件,如 Android 平台的编译等
pkg Windows 平台编译好的中间文件
src 标准库源码
test 测试用例

 

 

检查 Windows 系统 Go 环境是否安装成功

打开 cmd 窗口,执行命令:

go version

若正确输出 Go 语言的版本号,表示安装成功:

Go语言快速入门图文教程

Linux 安装 Go

这里,小哈以自己购买的云服务器 CentOS 7 做演示。

Go语言快速入门图文教程

下载完成后,将压缩包上传到指定目录下,执行如下命令,将压缩包解压到 /usr/local/go 下:

tar -C /usr/local -xzf go1.15.4.linux-amd64.tar.gz

解压完成后,通过 vi 编辑器打开 profile 文件:

vi /etc/profile

profile 文件中添加下面这行,目的是将 /usr/local/go/bin 目录添加到 PATH 环境变量中去:

export PATH=$PATH:/usr/local/go/bin

然后执行如下命令,让新添加的环境变量生效:

source /etc/profile

完成后,执行如下命令,检查 Go 语言是否安装成功:

go version

若正确输出 Go 语言版本号,则表示安装成功。

Go语言快速入门图文教程

Mac 安装 Go

Mac 系统有下面两种安装方式。

通过 brew 安装

执行如下命令:

brew install go

或者

brew install golang

另外,也可以先通过 brew info go查看一下版本信息。

Go语言快速入门图文教程

官网下载 Go 语言 pkg 包来安装

Go语言快速入门图文教程

下载完成后,双击开始安装:

Go语言快速入门图文教程

点击继续,等待Go安装完成。

配置Go语言环境变量

默认会将Go安装到 /usr/local/go路径下,接下来,开始配置Go语言环境变量

1、编辑 .bash_profile 文件:

vim ~/.bash_profile

2、添加 /usr/local/go 目录到 PATH 环境变量中:

# Go环境变量
export PATH=$PATH:/usr/local/go/bin

3、执行如下命令,使环境变量生效:

source ~/.bash_profile

验证结果

通过如下命令,来验证 Go 语言环境是否安装成功:

go version

若正确输出 Go 语言的版本号,则表示成功。

Go语言快速入门图文教程

六、写个 Hello World 程序

通常来说,入门任何一门语言,编写的第一个程序都是用该语言向世界打声招呼: Hello World !

开始

接下来,我们来编写第一个 Go 语言程序,新建一个 helloworld.go 文件,代码如下:

提示: Go 语言源文件的拓展名以 .go 结尾。

package main

import "fmt"

func main() {
    fmt.Println("Hello World !")
}

上面代码的意思是在控制台打印字符串:Hello World !

执行 Go 程序

我们有两种方式来执行上面这个程序。

第一种方式

通过 go run 命令来执行刚刚的代码, 执行命令如下:

go run helloworld.go 

效果图如下:

Go语言快速入门图文教程

第二种方式

还可以通过执行 go build 命令,将刚刚这段代码编译成可执行文件:

go build helloworld.go

编译完成后,可以在目录下看到一个 helloworld可执行文件,通过 ./helloworld 命令来执行它,即可输出 Hello World !

Go语言快速入门图文教程

七、结语

本文中小哈主要讲了如何快速入门 Go 语言,起到一个抛砖引玉的作用,如果本文能够对小伙伴们有用,希望小伙伴们三连一波!

以上就是Go语言快速入门图文教程的详细内容,更多关于Go语言入门教程的资料请关注服务器之家其它相关文章!

延伸 · 阅读

精彩推荐
  • GolangGolang通脉之数据类型详情

    Golang通脉之数据类型详情

    这篇文章主要介绍了Golang通脉之数据类型,在编程语言中标识符就是定义的具有某种意义的词,比如变量名、常量名、函数名等等,Go语言中标识符允许由...

    4272021-11-24
  • Golanggolang json.Marshal 特殊html字符被转义的解决方法

    golang json.Marshal 特殊html字符被转义的解决方法

    今天小编就为大家分享一篇golang json.Marshal 特殊html字符被转义的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    李浩的life12792020-05-27
  • Golanggolang如何使用struct的tag属性的详细介绍

    golang如何使用struct的tag属性的详细介绍

    这篇文章主要介绍了golang如何使用struct的tag属性的详细介绍,从例子说起,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看...

    Go语言中文网11352020-05-21
  • Golanggo日志系统logrus显示文件和行号的操作

    go日志系统logrus显示文件和行号的操作

    这篇文章主要介绍了go日志系统logrus显示文件和行号的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    SmallQinYan12302021-02-02
  • GolangGolang中Bit数组的实现方式

    Golang中Bit数组的实现方式

    这篇文章主要介绍了Golang中Bit数组的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    天易独尊11682021-06-09
  • Golanggolang的httpserver优雅重启方法详解

    golang的httpserver优雅重启方法详解

    这篇文章主要给大家介绍了关于golang的httpserver优雅重启的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    helight2992020-05-14
  • Golanggo语言制作端口扫描器

    go语言制作端口扫描器

    本文给大家分享的是使用go语言编写的TCP端口扫描器,可以选择IP范围,扫描的端口,以及多线程,有需要的小伙伴可以参考下。 ...

    脚本之家3642020-04-25
  • Golanggolang 通过ssh代理连接mysql的操作

    golang 通过ssh代理连接mysql的操作

    这篇文章主要介绍了golang 通过ssh代理连接mysql的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    a165861639710342021-03-08