【Golang系列】Golang环境配置和第一个Go程序

news2024/11/19 10:40:04

⭐️前面的话⭐️

本篇文章将介绍Golang语言的环境配置,以及如何在VS code中运行第一个golang程序。

📒博客主页:未见花闻的博客主页
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📌本文由未见花闻原创,CSDN首发!
📆首发时间:🌴2023年6月16日🌴
✉️坚持和努力一定能换来诗与远方!
💭推荐书籍:📚《无》
💬参考在线编程网站:🌐牛客网🌐力扣🌐acwing
博主的码云gitee,平常博主写的程序代码都在里面。
博主的github,平常博主写的程序代码都在里面。
🍭作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!


📌导航小助手📌

    • 1.Go环境安装
      • 1.1下载Go语言包
      • 1.2配置IDE开发环境
      • 1.3配置环境变量
    • 2.第一个Go程序


在这里插入图片描述


1.Go环境安装

1.1下载Go语言包

Go官方网站:https://go.dev/

1

对于Go语言的安装包,有两种类型,一种是msi文件,这个文件直接双击打开,然后设置安装目录,一直next即可,还有一个zip等压缩文件格式的安装包,直接解压到你想安装的目录即可。

安装好go语言包后,在命令行窗口运行go version,如果出现具体的版本就表示安装好了,为了配合VsCode等IDE环境,还需要配置环境变量。

1.2配置IDE开发环境

Linux环境直接使用vim编写代码然后使用命令运行即可,对于Windows环境,可以使用VSCode,IDEA的兄弟GoLang,或者使用云开发环境都可以。

VsCode:https://code.visualstudio.com/
GoLang:https://www.jetbrains.com/zh-cn/go/
云环境:https://gitpod.io/#github.com/wangkechun/go-by-example

你想要使用哪一个环境就用哪一个,推荐使用VsCode,因为GoLang这个软件需要付费。

2

使用VsCode需要安装一个插件Go来配置Go的运行环境。

3

安装好插件之后,还不能运行,还需要配置本地的环境变量。

1.3配置环境变量

第一步,打开电脑系统,选择【高级系统设置】。

2
第二步,配置环境变量。

3
在下方的系统变量新建GOROOT的环境变量。

2
变量值为你所安装Go的一级目录路径。

3
最后点击三次确定,完成设置。

第四步,新建一个文件夹用来保存Go工程代码,并配置环境变量GOPATH
4
在刚刚新建的GoWorks目录下新建三个文件夹用来保存未来的源码和输出文件等内容,如下图所示:

5
第五步,编辑系统环境变量,选择Path,新增一条Go项目中bin所对应的路径。

6
第六步, 更改用户变量的GOPATH的值为下面系统变量GOPATH的值

7

8
在终端运行go env命令,可以看到设置已经生效:
9

第七步,在用户环境变量中新建GOPROXY,值为https://proxy.golang.com.cn,direct

10
第八步,打开VsCode,安装Go插件,按住快捷键Ctrl+Shift+P,输入GO:Install/UpdateTools,如果出错重启VsCode再按照上述步骤进行。

11

等待后,会出现以下界面,全选即可。
12
最后慢慢等待下载完成即可,如果出现部分安装失败,重新安装试一试。

13

这样环境就配置好了,在src目录下创建go文件编写代码就能运行了。

第九步,开启Go Module,在VsCode终端下输入以下代码运行:

go env -w GO111MODULE=auto
go env -w GOPROXY=https://proxy.golang.com.cn,direct

保证以下两个设置好:
14

最后在运行之前先点击终端,需要先初始化Mod,输入以下命令,然后回车 然后再点击运行,启动调试 。

go mod init xxx //xxx代表文件夹名

15

2.第一个Go程序

src目录下新建一个go文件,写入以下代码,即可完成Go代码的运行:

package main

import (
	"fmt"
)


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

刚刚我们已经跟大家讲述了如何配置开发环境,接下来我们来了解一下Go语言第一个程序的含义:

第一行 package main 代表这个文件属于 main 包的一部分,main 包也就是程序的入口包。
第三行导入了标准库里面的 FMT 包。这个包主要是用来往屏幕输入输出字符串、格式化字符串。
import 下面是 main 函数,main 函数的话里面调用了 fmt.Println 输出Hello Go!

运行该程序,可以直接在命令行中输入:

go run 文件名.go

即可运行程序,如果想要编译成二进制文件,可以使用go build命令来进行编译,编译完成后输入./文件名即可运行。

当然也可以直接使用我们千辛万苦配好的VsCode环境,在VsCode下进行运行,Ctrl+F5启动调试,或者找到调试窗口栏点击启动调试即可。


觉得文章写得不错的老铁们,点赞评论关注走一波!谢谢啦!

1-99

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/654035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pytest教程__定制allure报告(12)

定制报告需要先导入allure模块,再使用以下装饰器方法: feature: 标注主要功能模块。story: 标注feature功能模块下的分支功能。description:在报告中显示用例描述。step: 标注测试用例步骤。issue && testcase:标注用例关…

单链表刷题(1-3)

目录 反转链表 移除元素 合并有序链表 反转链表 力扣 我们用取头节点依次进行头插的方式解决这道题。需要注意的是头插前要保存下一个节点。 struct ListNode* reverseList(struct ListNode* head){typedef struct ListNode SL;SL* cur head;SL* rhead NULL;//初始指向空…

TienChin 代码格式化-项目结构大改造

代码格式化 博主下载项目之后发现,整体的代码格式化风格,与 C 那种语言很相似,说明这个作者之前就是从事这块的导致风格有点类似,我们来格式化一下,当然这不是必要的,我是没习惯这种写法所以这里我写一下我…

2023年测试岗,你真的懂测试吗?凭什么他能月薪25k+

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试人员应该居安…

Redis入门 - 事务

原文首更地址,阅读效果更佳! Redis入门 - 事务 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-transaction.html Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证: 批量操作在发送 EXEC 命…

STM32串口通信详解(嵌入式学习)

STM32串口通信 1.通信基础知识1.1 时钟信号区分同步通信异步通信波特率总线协议(电气协议) 1.2 通信方式划分串行通信并行通信 1.3 通信方向划分单工通信半双工通信全双工通信常见通信总结 2. USARTUSART 介绍 3. 串口通信协议4. 相关寄存器串口控制寄存器波特率寄存器中断和状…

segment anything环境配置与使用测试

硬件:RTX3070 i9-11900H 内存16G 目录 一、环境配置 二、使用测试--predictor_example.ipynb 1.jupyter notebook准备操作 2.Object masks from prompts with SAM与Environment Set-up 3.Set-up 4.Example image 5.Selecting objects with SAM 6.Specifyin…

GeoServer安装部署

GeoServer是一款开源的GIS服务器,用于管理、共享和编辑空间数据。 它的主要功能包括: 管理空间数据:GeoServer可以连接各种空间数据源,包括文件(SHP、CSV等)、数据库(PostGIS,Oracle,SQL Server等)和云存储(S3,Swift,Azure等)。并提供数据的浏览、上传、下载和删除…

webgpu之旅04

继续继续 319854902 319854902 319854902 319854902 webgpu交Q流群首先准备好绘制到屏幕所需的这个descriptor if rendertarget this._textures.initRenderTarget( renderTarget ); 来看一下这个函数里面会做什么 renderTargetProperties是这个target的properties 创建一个co…

历时一个月,腾讯认证python全套项目实战笔记,终于整理出来了

前言 之前拿到一份关于腾讯认证的python的全套项目实战脑图,于是历时花费一个月,终于是熬夜加点的给肝出来了,先用typora全部写出来,然后再导出成PDF文件,目前已经完全搞定。 总共划分内容为(七大模块&am…

Telnet协议详解

Telnet协议是一种远程登录协议,它允许用户通过网络连接到远程主机并在远程主机上执行命令。本文将对Telnet协议进行详细介绍,包括其基本概念、连接方式、C/S模式以及工作原理。 一、Telnet协议的基本概念 1. NVT(Network Virtual Terminal&a…

通付盾荣获第六届(2023)数字金融创新大赛“创新先锋榜”!

今日,第六届(2023)数字金融创新大赛“创新先锋榜”揭晓,大赛由中国电子银行网、数字金融联合宣传年主办,自4月6日开启以来,得到数字金融行业各方的积极响应与支持。经过专家评分、路演评审等环节&#xff0…

Android中Activity、View和Window关系详解

Android系统启动篇 1,《android系统启动流程简介》 2,《android init进程启动流程》 3,《android zygote进程启动流程》 4,《Android SystemServer进程启动流程》 5,《android launcher启动流程》 6,…

8年测试总结,App测试要点常见bug分类,从功能到性能测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 而针对手机应用软…

数字IC设计怎么入门?(附学习全流程)

看到很多小伙伴都不了解数字IC设计该怎么学,下面就来给大家来具体讲讲。 其实对于初级数字 IC 设计工程师而言,不仅仅需要较好的 Verilog 语法功底,还要熟悉企业的 Linux 环境以及 EDA 工具,此时你就需要掌握 Shell,V…

Django 权限管理和guardian插件

内置权限管理 Django内置的权限管理, 是一种表权限, 就是可分别配置某管理员用户对某个表的全部数据有没有增删改查4种权限. 图形界面配置权限 之前提到,使用命令行创建超管用户: python manage.py createsuperuser这其实是在最普通的用户的基础上将…

百度网盘的最新插件(懂得都懂)

下面先给大家介绍一下油猴插件。 这个插件为什么叫油猴? 现在我们经常提到的油猴插件,常指Tampermonkey,但Tampermonkey翻译过来是叫篡改猴,为什么会叫油猴呢?原因是因为另一个插件Greasemonkey,它翻译过…

Qt编写iFIx组态软件日报表插件的实现

一、iFIx中生成report.MDB文件 在Ifxi组态软件的【调度】中新建调度任务【report】添加【定时器调度项】FixTimer5,间隔1h触发一次。通过此任务及脚本程序,将相关变量定时存入自动生成的report.MDB文件中。 用户脚本程序如下: ---- User Co…

Sui对外开放开发者Office Hour

Sui宣布开启新一轮的Sui开发工程师Office Hour。本期的Office Hour由Sui基金会和Mysten Labs共同主办,为Sui上开发的相关技术问题进行答疑解惑并提供支持。 开发工程Office Hour将于每周五1:00 AM(GMT8)开设,时长为1小时。 每个…

程序性能优化实践总结——JAVA

文章目录 1、 衡量程序性能的指标2、Java 程序性能优化切入点3、获取程序的性能数据1、nmon:获取系统性能数据2、jvisualvm:获取JVM性能数据3、jmc:获取Java应用详细性能数据4、arthas:获取单个请求的调用链耗时5、wrk获取Web接口的性能数据 4、应用程序优化1、缓冲区2、缓存3、…