goland开发环境搭建及运行第一个go程序HelloWorld

news2024/11/26 23:35:41

1、下载和安装golang

点击进入下载页面
官网下载
下载好安装包,点击安装。
在这里插入图片描述
我之前安装过低版本的安装包,所以这里提示要先卸载已经安装过的低版本的。
在这里插入图片描述
同意协议,继续安装。
在这里插入图片描述
默认安装的文件夹为C盘,建议更改,我这里更改为D盘。在这里插入图片描述在这里插入图片描述
点击Insall,即可开始安装。
在这里插入图片描述
在这里插入图片描述
点击Finish。
在这里插入图片描述
测试是否成功正确安装:在cmd下输入"go version"命令。显示如下图界面,即安装成功。
在这里插入图片描述

2、配置环境变量

GOROOT: sdk的安装路径目录。
PATH: sdk的bin目录
GOPATH:工作目录,将来作为go项目的工作路径。
下图为我刚刚安装的go的目录:在这里插入图片描述配置GOROOTGOPATH:

在这里插入图片描述

配置path:PATH可以写bin的完整路径"D:\GO\Go\bin",也可以引用GOROOT,写作%GOROOT%\bin,因为二者部分重复。
在这里插入图片描述
在这里插入图片描述
配置好环境变量后,在cmd中输入指令go env测试。出现下图中指令说明go的环境配置成功。
在这里插入图片描述
如果发现GOPATH的值显示在C盘当前用户名目录下,那大概率是系统变量GOPATH的值被用户变量GOPATH的值覆盖了,把用户变量的GOPATH的值修改成系统变量GOPATH的值一致即可。

用户变量的GOPATH的值与系统变量GOPATH的值冲突:
在这里插入图片描述
修改用户变量GOPATH的值:
在这里插入图片描述
再次输入指令go env,测试成功即可。
在这里插入图片描述

3、开发工具的安装与配置

前提:已经成功安装并激活Goland。
在这里插入图片描述
新建三个文件夹,分别为binpkgsrc
bin:用来存放编译后的exe文件。
pkg:放置自定义包的位置。
src:用来创建项目和项目文件。
在这里插入图片描述

在src文件夹下,建Hello_golang目录,在此目录下建HelloWorld.go文件。
在这里插入图片描述

按下图进行"Add Configurations",选择Go Build
在这里插入图片描述
在这里插入图片描述

在Settings->GO->GOPATH中进行如下配置:
在这里插入图片描述

至此,所有配置皆已完成

4、运行代码

在这里插入图片描述

在这里插入图片描述

5、注意点

由于main函数是程序入口,所以package要写成main。go不强制要求包名必须和其所在的目录名同名,这与Java的包名机制不太一样

如果上面的代码你把包名与其所在的目录名同名,写成Hello_golang,就会出现下面的错误:
在这里插入图片描述
main包名和当前目录名Hello_golang同时写上也是会报错。
在这里插入图片描述

查看资料:
Go语言的包借助了目录树的组织形式,一般包的名称就是其源文件所在目录的名称,虽然Go语言没有强制要求
包名必须和其所在的目录名同名,但还是建议包名和所在目录同名,这样结构更清晰。

6、Visual Studio Code的go环境配置

6.1 下载安装Visual Studio Code

Visual Studio Code官网,点击打开下载页面
在这里插入图片描述

6.2 配置go环境

前提已经按照上文要求下载安装好go的安装包。

6.2.1 配置简体中文

在这里插入图片描述

6.2.2 安装go环境扩展

在这里插入图片描述

6.3 编译运行程序

6.3.1 项目初始化:go mod init 项目名

go mod init helloworlds 表示项目初始化,将会在当前目录下生成go.mod文件。
在这里插入图片描述
go.mod的内容一般为go的版本信息等。
在这里插入图片描述

6.3.2 编译运行项目

go build 进行编译,将源代码main.go编译成可执行文件。
go run main.go 执行程序main.go (本质上是先编译后执行)
在这里插入图片描述
在编写main.go的代码过程中,如果右下角提示安装插件,必须点击安装。
在这里插入图片描述

7、参考资料一栏,感谢这些作者的贡献。

使用GoLand创建Go项目(含环GOPATH/GOROOT环境配置)
go : GoLand安装及环境配置
1.17——golang环境配置(windows)
Golang安装-vsccode中配置可参考此文章

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

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

相关文章

YOLOv5训练大规模的遥感实例分割数据集 iSAID从切图到数据集制作及训练

最近想训练遥感实例分割,纵观博客发现较少相关 iSAID数据集的切分及数据集转换内容,思来想去应该在繁忙之中抽出时间写个详细的教程。 iSAID数据集下载 iSAID数据集链接 下载上述数据集。 百度网盘中的train和val中包含了实例和语义分割标签。 上述…

哪些职业适合创业?学习哪些技能可以自己创业?

创意行业:创意行业包括广告、设计、影视等领域,需要创新思维和创意能力,适合创业。学习创意思维、平面设计、影视制作等技能可以自己创业。 科技行业:科技行业包括互联网、人工智能、物联网等领域,需要技术能力和创新思…

基于JavaEE开发博客系统项目开发与设计(附源码)

文章目录1.项目介绍2.项目模块3.项目效果1.项目介绍 这是一个基于JavaEE开发的一个博客系统。实现了博客的基本功能,前台页面可以进行文章浏览,关键词搜索,登录注册;登陆后支持对文章进行感谢、评论;然后还可以对评论…

[网络工程师]-网络规划与设计-逻辑网络设计(二)

3、广域网技术选择 3.1广域网互连技术 3.1.1 数字数据网络 数字数据网络(Digital Data Network,DDN)是一种利用数字信道提供数据信号传输的数据传输网,是一个半永久性连接电路的公共数字数据传输网络,为用户提供了一个高质量、高带宽的数字传输通道。 利用DDN网络实现局…

【C++】7.string

1.标准库的string类 string是表示字符串的字符串类在使用string类时,必须包含#include头文件以及using namespace std;string类是使用char(即作为它的字符类型,使用它的默认char_traits和分配器类型(关于模板的更多信息,请参阅basic_string)…

智能网联汽车安全芯片介绍(一)

汽车的新四化(电动化、网联化、智能化、共享化)让汽车安全越来越受到重视,比如一个不太容易被破解的汽车遥控钥匙或者非接触开门等,越智能越开始需要安全。而过去的一些安全事件也凸显了安全的必要性。 黑客早已经盯上了汽车。2015年,Charlie Miller 、 Chris Valsek曾通过…

熟悉mmdetection3d数据在模型中的处理流程

目录1、搭建模型2、读取数据3、运行流程3.1 图像特征获取3.2 点云特征获取3.3 head3.4 编码bbox4、可视化5、总结本图文数据集采取KITTI数据集配置文件的介绍可以参考博主上一篇图文本图文旨在利用一条数据,走完整个多模态数据处理分支,获得bbox&#xf…

Linux内核里的传输层数据流

传输层发送数据包socket sendto系统调用应用程序通过socket调用sendto系统调用发送数据包,根据网络层协议调用inet_sendmsg或者inet6_sendmsg()函数,将数据包送入协议栈发送。SYSCALL_DEFINE6(sendto...) - net/socket.csock_sendmsg() - net/socket.cso…

compose系列教程-2. 显示图片

要在Android中使用Compose显示图片,需要使用Image组件。以下是一个简单的例子,它显示了一张图片: Composable fun MyApp() { val image painterResource(id R.drawable.my_image) Image(painter image, contentDescription "…

dynamics 365的增删改查

今天需要完成对dynamics 365的增删改查,网上一直找不到合适的教程,官方文档看不懂,实在没办法了,于是下载了chatgpt,对他进行了提问。 我:怎么用visual studio基于dynamics 365进行增删改查? ChatGPT 中文…

Python笔记 -- 类

文章目录1、引入2、操作属性3、继承4、将实例用作属性5、导入类1、引入 类和实例 使用类可以模拟任何东西,下面是一个小狗的简单类Dog,它表示任意小狗,实例my_dog表示一个具体的小狗方法 类中的函数称为方法,有关函数的一切均适用…

兔c同学的一篇:使用python 的 unittest模块对类和函数进行测试

文章目录1. 测试函数简单的函数测试单元测试和测试用例可通过的测试不可通过的测试测试未通过时怎么办2. 测试类各种断言方法测试一个类测试 AnonymousSurvey方法setUp()导言 在编写函数或类时,还可为其编写测试。通过测试,可以确定代码面对各种输入都能…

面试官必问--谈谈Spring Bean对象的生命周期吧

现在是时候讨论Spring Bean从产生到销毁整个过程的细节了,也就是Spring Bean的生命周期。在这里文哥先温馨提示:Spring Bean的生命周期是面试高频点之一,希望大家好好掌握哦~一. Spring Bean生命周期的概述如果没有Spring的环境,J…

张力控制之开环模式

张力控制的相关知识也可以参看专栏的其它文章,链接如下: 张力闭环控制之传感器篇(精密调节气阀应用)_RXXW_Dor的博客-CSDN博客跳舞轮对应张力调节范围,我们可以通过改变气缸的气压方式间接改变,张力跳舞轮在收放卷闭环控制上的详细应用,可以参看下面的文章链接,这里我…

人工智能实验一:利用遗传算法求解 TSP(旅行商)问题

1.任务描述 本关任务:利用遗传算法求解 TSP 问题。 2.相关知识 为了完成本关任务,你需要掌握:1. 遗传算法;2. TSP问题。 遗传算法 一个后继状态由两个父状态决定,以k个随机产生的状态开始(population&…

Kaggle赛题解析:Diffusion Prompt生成

文章目录一、比赛信息二、比赛背景三、比赛任务四、评价指标五、数据描述六、解题思路一、比赛信息 比赛名称:Stable Diffusion - Image to Prompts 推断生成高度详细、清晰的焦点、插图、宏伟、史诗般的 3d 渲染图像的prompt 比赛链接:https://www.k…

python----获取一部小说

1、需求说明 获取一部小说的标题内容,以txt文档形式保存 2、项目说明 3、代码 # 怎么发送请求 # pip install requests import requests# pip install lxml->从标签里提起文字 #from lxml import etree from lxml import html etreehtml.etree # 发送给谁 url…

Android---系统启动流程

目录 Android 系统启动流程 init 进程分析 init.rc 解析 Zygote 概叙 Zygote 触发过程 Zygote 启动过程 什么时Runtime? System Server 启动流程 Fork 函数 总结 面试题 Android 是 google 公司开发的一款基于 Linux 的开源操作系统。 Android 系统启动…

Web3中文|一波未平一波又起:Silvergate将走向何处

Silvergate Capital(SI)这一加密公司曾经的重要银行合作伙伴,现在正处于崩溃的边缘。这家总部位于加州拉荷亚的公司上周五晚上表示,其暂停了Silvergate交易所网络(SEN:Silvergate Exchange Network&#xf…

Foxit PDF SDK ActiveX 5.9.7 Crack

Foxit PDF SDK ActiveX对于刚接触PDF或不愿投入过多精力学习PDF技术的产品管理者及开发者来说,Foxit PDF SDK ActiveX无疑是理想的选择。破解版它拥有操作简单的特性,提供可支持定制的可视化编程组件,开发者通过简单的拖放动作,就…