Day 1——Go语言环境配置

简介: Go! Go! 一起来学习Go语言

一、前言

这次我又开辟了新的专栏,我们来一起学习一门新语言Go语言。因为本人是大数据专业的学生,以后可能会涉及到服务器编程、分布式系统、数据库代理器抑或是开发云平台的一些学习,这些方向能用C或者C++来实现,但是C和C++可能上手难度有点大,刚好Go语言可以很好的代替它们去实现。

为什么说Go语言可以代替C/C++去实现这些功能呢?

可以这么来说,相比于C/C++,一是Go语言的学习曲线更加的容易,二是Go语言也拥有媲美C/C++的编译效率,开发效率和运行效率都很高,三是Go语言还拥有强大的标准库,四是部署起来也很方便,五是并行和异步编程几乎无痛点等等诸多优势。

Go语言和Python语言都是致力于使事情简单化,它的使用起来异常的快速和简单。

Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,它的基础语法与C语言很类似,但对于变量的声明有所不同,也对其他的一些优秀编程语言有所借鉴。

简单的来说,Go是为大数据、微服务、并发而生的一种编程语言。

好啦,吹啦这么多Go语言的哪些优势,现在我们要开始Go语言的学习啦,学习任何一门语言第一步都是配置相关的环境,那我们开始叭!

二、环境配置

1、下载安装

Go语言官网下载地址:https://golang.google.cn/dl/

直接去Go语言官网去下载Go语言版本,我的电脑是Win 11,所以就下载第一个:

image-20220817144921349.png

下载好之后点击这个:

image-20220817145039517.png

然后一直下一步下一步,它会默认下载到C盘,大家可以自行定义下载路径。

下载完之后一般会自动帮我们将Go语言的路径添加到环境变量里面去:

image-20220817145323834.png

如果没有的话要自行添加一下。

2、测试安装

在你想要的盘里面新建一个文件夹,比如我新建的文件夹叫Go_Code。

image-20220817145541570.png

接下来我们要在cmd里面测试一下我们的Go语言环境配置是否成功。

首先先在我们新建的文件中创建一个文本文档:

image-20220817145758555.png

然后双击打开它,输入如下代码:

image-20220817145835867.png

然后保存文本文档,将后缀txt改成go:

image-20220817145925980.png

打开cmd,进入我们创建的文件中,运行如下命令:image-20220817150039041.png

运行结果如果是这样,就代表Go语言环境配置成功了。

3、GoLand环境配置

首先进入环境变量里面配置:

image-20220817150649963.png

新建这三个值:

  • GOROOT:Go的安装路径
  • GOPATH:Go语言工作区路径
  • GOPROXY:Go语言默认的代理容易被防火墙挡住,修改成国内可用代理

进入cmd,输入命令:go env就可以查看是否配置成功:

image-20220817151028291.png

以上配置好之后,点击软件GoLand,进入到软件内打开我们刚刚创建的文件夹,然后进入设置,按照如下操作来设置:

image-20220817151433444.png

image-20220817151524606.pngimage-20220817151451855.png


image-20220817151550168.png

image-20220817151625583.png

image-20220817151935195.png

好啦,到现在已经全部配置完成啦,大家可以开始享受啦!

三、出现的问题

有些同学可能全部配置好之后,想要创建自己的文件夹,然后自己的文件中创建GO的代码运行结果却报如下的错误了:

image-20220817152309185.png

这是因为你代码开头的导包有问题,需要修改成这样才不会报错:

image-20220817152633163.png

Go语言不像java语言导包需要和包名相同,在Go语言中,main()函数保存在main的包里,如果main函数不再main包里,构建工具就不会生成可执行的文件,main包在Go语言里,命名为main的包具有特殊含义,具体想要知道为什么的同学可以自行科学上网进行查阅学习。

四、最后我想说

Go 极其地快。其性能与 Java 或 C++相似。在我们的使用中,Go 一般比 Python 要快 30 倍。虽然相比于 Python 和 Ruby,使用 Go 建立东西需要更多的时间,但在后续的代码优化上可以节省大量时间。

虽然Go语言的优势很多,但是它毕竟是一种新型语言,还存在很多的缺点,还需要后续的完善,我们一起期待它的后续表现。

以上内容如有错误之处还请大家为我指出,谢谢大家!

好啦,本期的内容就到此为止啦,后续我也会慢慢的更新有关Go语言的基础语法,和大家一起学习这门新的语言。

期待大家的关注,我们不见不散!

目录
相关文章
|
7月前
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
7月前
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
1月前
|
数据采集 Go API
Go语言实战案例:多协程并发下载网页内容
本文是《Go语言100个实战案例 · 网络与并发篇》第6篇,讲解如何使用 Goroutine 和 Channel 实现多协程并发抓取网页内容,提升网络请求效率。通过实战掌握高并发编程技巧,构建爬虫、内容聚合器等工具,涵盖 WaitGroup、超时控制、错误处理等核心知识点。
|
1月前
|
数据采集 JSON Go
Go语言实战案例:实现HTTP客户端请求并解析响应
本文是 Go 网络与并发实战系列的第 2 篇,详细介绍如何使用 Go 构建 HTTP 客户端,涵盖请求发送、响应解析、错误处理、Header 与 Body 提取等流程,并通过实战代码演示如何并发请求多个 URL,适合希望掌握 Go 网络编程基础的开发者。
|
2月前
|
JSON 前端开发 Go
Go语言实战:创建一个简单的 HTTP 服务器
本篇是《Go语言101实战》系列之一,讲解如何使用Go构建基础HTTP服务器。涵盖Go语言并发优势、HTTP服务搭建、路由处理、日志记录及测试方法,助你掌握高性能Web服务开发核心技能。
|
2月前
|
Go
如何在Go语言的HTTP请求中设置使用代理服务器
当使用特定的代理时,在某些情况下可能需要认证信息,认证信息可以在代理URL中提供,格式通常是:
173 0
|
3月前
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
|
4月前
|
分布式计算 Go C++
初探Go语言RPC编程手法
总的来说,Go语言的RPC编程是一种强大的工具,让分布式计算变得简单如同本地计算。如果你还没有试过,不妨挑战一下这个新的编程领域,你可能会发现新的世界。
101 10
|
7月前
|
Shell Go 开发工具
【环境】Rocky8使用gvm配置Go多版本管理的微服务开发环境(go-zero)
通过本文的介绍,我们详细讲解了如何在Rocky8上使用gvm来管理多个Go版本,并配置go-zero框架的开发环境。通过gvm的灵活管理,开发者可以轻松切换不同的Go版本,以适应不同项目的需求。同时,go-zero框架的使用进一步提升了微服务开发的效率和质量。希望本文能帮助开发者构建高效的Go语言开发环境,提高项目开发的灵活性和稳定性。
199 63
|
7月前
|
存储 Go
Go 语言入门指南:切片
Golang中的切片(Slice)是基于数组的动态序列,支持变长操作。它由指针、长度和容量三部分组成,底层引用一个连续的数组片段。切片提供灵活的增减元素功能,语法形式为`[]T`,其中T为元素类型。相比固定长度的数组,切片更常用,允许动态调整大小,并且多个切片可以共享同一底层数组。通过内置的`make`函数可创建指定长度和容量的切片。需要注意的是,切片不能直接比较,只能与`nil`比较,且空切片的长度为0。
164 3
Go 语言入门指南:切片