guide.deepin.org/docs/deepin进阶教程/11.编程开发/11.2.golang编程环境搭建.md

73 lines
3.8 KiB
Markdown
Raw Normal View History

# golang编程环境搭建
2023-02-23 11:51:27 +08:00
2023-02-23 16:44:45 +08:00
Go也称 Golang是由 Google 开发的一门编程语言于2009年首次公开发布。它是一门静态类型、编译型语言具有内存安全、垃圾回收、并发支持和高效的编译等特性因此被广泛用于构建高性能、高并发、可靠性强的后端服务。
以下是 Go 语言的一些特点和优势:
1. 简单易学Go 语言语法简单明了,代码结构清晰,易于阅读和维护,学习曲线平缓,非常适合初学者学习。
2. 高效性Go 语言采用静态编译,编译速度非常快,并且生成的二进制文件也非常小,运行速度快。
3. 内存安全Go 语言自带垃圾回收机制,有效地避免了内存泄漏和空指针等问题,增强了程序的稳定性和可靠性。
4. 并发支持Go 语言原生支持协程和通道,使得编写并发程序变得非常简单,而且并发程序的性能也非常高。
5. 开发效率高Go 语言提供了一些很好的标准库和工具可以帮助开发人员快速地实现常见的任务和功能大大提高了开发效率。跨平台支持Go 语言的编译器支持多种操作系统和硬件架构,可以在各种平台上编译和运行程序。
目前Go 语言已经广泛应用于云计算、大数据、网络编程、分布式系统、微服务等领域,成为一个非常流行的编程语言。
## 软件包
2023-02-23 11:51:27 +08:00
### golang
```Shell
sudo apt install golang
```
2023-02-23 16:44:45 +08:00
你可以通过以下命令验证是否安装成功:
2023-02-23 11:51:27 +08:00
2023-02-23 16:44:45 +08:00
```Shell
go version
```
如果你看到了类似下面的输出说明你已经成功安装了golang
2023-02-23 11:51:27 +08:00
```Shell
2023-02-23 16:44:45 +08:00
go version go1.13.4 linux/amd64
```
### goland
goland是一款非常强大的golang开发工由jetbrains公司开发支持golang的语法高亮、代码提示、代码补全、代码重构、代码格式化、代码调试等功能。
不过它是一个收费软件
如果你需要安装它的话,请到官网下载安装包进行安装。[https://www.jetbrains.com/go/](https://www.jetbrains.com/go/)
### vscode
是的vscode也可以用来开发golang它的安装和使用非常简单你只需要安装一个插件就可以了。
在vscode中的插件市场中搜索golang然后安装即可这是一个聚合包会自动下载其他的插件。
## 资源指南
2023-02-23 16:44:45 +08:00
### 官方文档
Go 语言官方网站提供了非常详细的文档,包括语言规范、标准库、工具等。对于学习 Go 语言来说,官方文档是一个非常好的起点。
[https://golang.org/doc/](https://golang.org/doc/)
### 书籍
1. Go 语言设计与实现
《Go 语言设计与实现》是一本权威的 Go 语言权威指南,由 Go 语言的创始人之一 Rob Pike 和两位 Google 工程师写就。这本书详细介绍了 Go 语言的设计思想、语法、并发编程等方面,对于深入学习 Go 语言非常有帮助。
链接https://book.douban.com/subject/27044219/
2. Go in Action
《Go in Action》是一本非常流行的 Go 语言实战指南,适合有一定编程经验的读者阅读。这本书涵盖了 Go 语言的各个方面,包括语法、并发编程、网络编程等,让读者通过实践深入了解 Go 语言。
链接https://book.douban.com/subject/27015617/
3. Go 语言编程
《Go 语言编程》是一本面向初学者的入门指南,通过大量的代码示例和实践讲解了 Go 语言的语法、数据类型、函数、并发编程等方面。对于初学者来说,这是一本非常不错的入门书籍。
链接https://book.douban.com/subject/35071480/
### 网站
Go by Example
Go by Example 是一个交互式的网站,提供了许多用 Go 语言实现的示例程序,从基本语法到并发编程都有涉及。通过实践这些示例,可以加深对 Go 语言的理解。
链接https://gobyexample.com/