新手小白之Go语言开发环境 |青训营笔记
Golang语言在云计算、微服务有很广泛的应用
什么是go语言
Go(又称 Golang) 是 Google 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。
Go语言有时候被描述为“C类似语言”,或者是“21世纪的C语言”。Go从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有C语言一直所看中的编译后机器码的运行效率以及和现有操作系统的无缝适配。
因为Go语言没有类和继承的概念,所以它和 Java 或 C++ 看起来并不相同。但是它通过接口(interface)的概念来实现多态性。Go语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级之说。因此可以说Go语言是一门混合型的语言。
Go 是编译型语言
Go 使用编译器来编译代码。编译器将源代码编译成二进制(或字节码)格式;在编译代码时,编译器检查错误、优化性能并输出可在不同平台上运行的二进制文件。要创建并运行 Go 程序,程序员必须执行如下步骤。
- 使用文本编辑器创建 Go 程序;
- 保存文件;
- 编译程序;
- 运行编译得到的可执行文件。
这不同于 Python、Ruby 和 JavaScript 等语言,它们不包含编译步骤。Go 自带了编译器,因此无须单独安装编译器。
为什么要学习Go语言
如果你要创建系统程序,或者基于网络的程序,Go语言是很不错的选择。作为一种相对较新的语言,它是由经验丰富且受人尊敬的计算机科学家设计的,旨在应对创建大型并发网络程序面临的挑战。
在Go语言出现之前,开发者们总是面临非常艰难的抉择,究竟是使用执行速度快但是编译速度并不理想的语言(如:C++),还是使用编译速度较快但执行效率不佳的语言(如:.NET、Java),或者说开发难度较低但执行速度一般的动态语言呢?显然,Go语言在这 3 个条件之间做到了最佳的平衡:快速编译,高效执行,易于开发。
Go语言支持交叉编译,比如说你可以在运行 Linux 系统的计算机上开发可以在 Windows 上运行的应用程序。这是第一门完全支持 UTF-8 的编程语言,这不仅体现在它可以处理使用 UTF-8 编码的字符串,就连它的源码文件格式都是使用的 UTF-8 编码。Go语言做到了真正的国际化!
Go语言特点
- 高性能,高并发
- 语法简单,学习曲线平缓
- 丰富的标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 垃圾回收
新手步骤
第一步:安装 Golang
安装 Golang,这一步聚比较简单
我们可以直接浏览器输入go.dev打开Golang的官网,然后点击download然后按照提示就可以安装Golang。
如果打不开的话,那么可以尝试使用Golang中国的镜像studygolang.com/dl。
如你访问github的速度非常慢的话,你可以配置go mod proxy,打开 htps://goproxy.cn/ 按照提示作可,配置完成你下载第三方包的速度会大大加快。
第二步:配置集成开发环境
配置开发 Golang 的编辑器或者 IDE。go的开发环境可以选择 VSCode 或者 olang 的,这是如今功能最多、使用最广泛的编器或者 IDE。
VSCODE 是一款由微软公司开发的,能运行在 Mac OS X、Windows 和 Linux 上的跨平台开源代码编辑器。虽然它是一款编辑器,但是它可以通过扩展程序为编辑器实现,包括代码高亮、代码提示编译调试、文档生成等功能 配置完成之后可以视为一个功能齐全的IDE。
安装 VSCode ,直接从官网下载安装即可,安装完成之后,需要在左边扩展里面搜索 Go 插件然后安装。Goland 是由 JetBrains 公司开发的一个新的商业 IDE,相比 vscode,它在重构、代码生成等方面做得更好。Goland 是一个收费软件,我们可以直接从官网下载,然后可以30天免费试用。对干在校学生可以由请免费的教育许可证。在校期间都可以直接免费使用。
第三步:基于云的开发环境
如果你有 github 的话,可以很方便地使用 gitpods.IO 的在线编程环境来试用 golang。
只需要浏览器打打开 gitpod.io/#github.com… ,用你的 github 账号登录,就可以打开这个课程的示例项目开始编码
第四步:go语言的helloworld
helloworld 代码大概长这样子
第一行 package main 代表这个文件属于 main 包的一部分,main 包也就是程序的入口包。
第三行导入了标准库里面的 FMT 包。这个包主要是用来往屏幕输入输出字符串、格式化字符串。
import 下面是 main 函数,main 函数的话里面调用了 fmt.Println 输出 helloword。
要运行这个程序的话,我们就直接 go run heloworld.go,如果我们想编译成二进制的话,可以在 go build 来编译、编译完成之后直接 helloworld 就可以运行在 FMT 包里面还有很多的函数来做不同的输入输出格式化工作。大家可以在编辑器里面把鼠标悬浮在你的代码上,就可以看到每一个函数的文档。
你也可以进入 pkg.go.dev ,后面加你的包名比如 FMT 然后就能看到这个包的在线文档,可以从里面去挑选你需要的函数来使用。