当前位置: 首页 > news >正文

【Go】Goland项目配置运行教程

Golang项目配置运行教程

  • 1.安装Golang
    • 下载安装包
    • 安装
  • 2.Goland配置
    • 2.1 环境
    • 2.2 goland配置
      • 2.2.1 没有makefile的情况
      • 2.2.2 有makefile的情况
  • 3.跨平台项目
  • 4.补充

注意,本项目描述的是git clone下来的Golang项目配置运行教程,并不是从头创建一个Golang项目并运行

作者是在win11系统上使用goland进行的实践,其他操作系统和比编辑器请谨慎参考。

1.安装Golang

下载安装包

打开golang官方网站All releases,下载自己需要且符合自己操作系统及指令集的版本

在这里插入图片描述
注意一下从右往左第二列,已经告诉什么指令集架构使用什么安装包了,现在绝大多数windows电脑都是x86-64,当然,也可以兼容x86,注意不要把amd和arm搞混了

不要因为自己电脑是intel的不敢下载amd64,这只是因为amd先搞出来的,所以x86-64也叫amd64

简单指令集是 arm 架构的 CPU 主要有高通、三星、苹果、华为海思、联发科等公司。

复杂指令集是 x86、x64(也叫 x86-64, amd64) 两种架构, 该架构 CPU 主要是 Intel 和 AMD 两家公司

安装

作者下载amd64的压缩包版本,只需要下载解压后配置环境变量

打开环境变量窗口新增
GOROOT安装的目录
在这里插入图片描述
在Path中新增
在这里插入图片描述

2.Goland配置

2.1 环境

在这里插入图片描述
go的依赖管理演化:GOPATH -> GO Vendor -> Go Module

现在绝大多数项目是使用Go Module,这里也默认使用Go Module

Goland的Module相关环境变量

  • GOPROXY=https://goproxy.cn,direct # 代理
  • GONOPROXY=xxx # xxx网站不通过代理
  • GOPRIVATE=xxx # 私有仓库的依赖代理

可以通过命令go env查看环境,注意如果有网址也不要加双引号

存在go.mod文件的情况下,直接go mod tiny即可
go.mod
在这里插入图片描述
注意私有仓库必须得有访问权限

注意,windows下go mod安装的包的存储路径默认为

C:\Users\你的用户名\go\pkg\mod

go mod 未提供删除包的命令,可以选择到该目录下直接删除

2.2 goland配置

2.2.1 没有makefile的情况

每次创建项目之后,我们都需要对 Goland 进行一些配置,在 Goland 的右上方找到“Add Configuration”并单击。

在弹出的窗口中点击“+”,并在下拉菜单中选择“Go Build”。

点击“Go Build”之后,在窗口中填写对应的信息,如下所示。

在这里插入图片描述

上图中有以下几点需要注意:
名称:为本条配置信息的名称,可以自定义,也可以使用系统默认的值;
Run kind:这里需要设置为“Directory”;
Directory:用来设置 main 包所在的目录,不能为空;
Output directory:用来设置编译后生成的可执行文件的存放目录,可以为空,为空时默认不生成可执行文件;
Working directory:用来设置程序的运行目录,可以与“Directory”的设置相同,但是不能为空。
提示:除了上面提到的几点外,其余的配置项使用系统的默认值即可,无需修改。

2.2.2 有makefile的情况

首先,windows下是不能直接运行makefile文件当中的命令的

参考https://blog.csdn.net/weixin_53795646/article/details/128387026安装Chocolatey,再用Chocolatey安装make

需要注意的是,如果不设置环境变量,需要到chocolatery安装目录下执行命令

C:\ProgramData\chocolatey\bin>choco install make

在这里插入图片描述

打开makefile文件,里面命令可以直接点击运行
在这里插入图片描述
这上面go mod涉及到升级操作,谨慎运行,建议有go.mod的情况下只运行go mod tidy

  • 点击mod左边箭头进行依赖整理
  • 然后点击build左边箭头进行编译
  • 最后点击run左边箭头运行项目

3.跨平台项目

有时候,项目涉及多平台,一些系统调用相关的代码不一定通用,有些可以选择性编译,但有些就只能在Linux运行了

//go:build !windows
// +build !windowspackage gracefulimport ("os""syscall"
)var RestartSignals = []os.Signal{syscall.SIGUSR1}

4.补充

谨防go.mod被误更改,Goland
Ctrl+Shift+A可以打开万能窗口,输入“差异”可以打开差异窗口比较不同文件

在这里插入图片描述

相关文章:

【Go】Goland项目配置运行教程

Golang项目配置运行教程 1.安装Golang下载安装包安装 2.Goland配置2.1 环境2.2 goland配置2.2.1 没有makefile的情况2.2.2 有makefile的情况 3.跨平台项目4.补充 注意,本项目描述的是git clone下来的Golang项目配置运行教程,并不是从头创建一个Golang项目…...

Docker容器与虚拟化技术:Docker consul 实现服务注册与发现

目录 一、理论 1.Docker consul 二、实验 1.consul部署 2. consul-template部署 三、总结 一、理论 1.Docker consul (1)服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性&…...

【大模型AIGC系列课程 2-2】大语言模型的“第二大脑”

1. 大型语言模型的不足之处 很多人使用OpenAI提供的GPT系列模型时都反馈效果不佳。其中一个主要问题是它无法回答一些简单的问题。 ● 可控性:当我们用中文问AI一些关于事实的问题时,它很容易编造虚假答案。 ● 实时性:而当你询问它最近发生的新闻事件时,它会干脆地告诉你…...

Java基础数据结构

二叉查找树 二叉查找树,又称二叉树或者二叉搜索树 特点:每一个节点上最多又两个子节点 任意节点左子树上的值都小于当前节点 任意节点右子树上的值都大于当前节点 二叉查找树添加节点:规则 小的存左边 大的存右边 一样的不存 平衡二叉树&am…...

PP-TS基于启发式搜索和集成方法的时序预测模型,使预测更加准确

时间序列数据在各行业和领域中无处不在,如物联网传感器的测量结果、每小时的销售额业绩、金融领域的股票价格等等,都是时间序列数据的例子。时间序列预测就是运用历史的多维数据进行统计分析,推测出事物未来的发展趋势。 为加快企业智能化转…...

vue 04-reactive与ref的选择

reactive与re两者区别? reactive可以转换对象成为响应式数据对象,但是不支持简单数据类型 ref可以转换简单数据类型为响应式数据对象,也支持复杂数据类型,但是操作的时候需要.value 推荐使用的话: 如果能确定数据是对象且字段名称也确定,可以使用reactive转成响应式…...

Mysql索引+事务+存储引擎

索引 索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。 使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找…...

创建abp vnext项目

需求: 1.使用net core跨平台的方式支持windows和centos系统; 2.实现前后端分离部署 3.框架默认集成用户登录、权限、redis等模块 4.支持多种数据库的方式 5.前端使用vue,不需要使用框架自带的web 1.框架配置官网地址: https://ab…...

【OpenCV实战】3.OpenCV颜色空间实战

OpenCV颜色空间实战 〇、Coding实战内容一、imread1.1 函数介绍1.2 Flags1.3 Code 二. 色彩空间2.1 获取单色空间2.2. HSV、YUV、RGB2.3. 不同颜色空间应用场景 〇、Coding实战内容 OpenCV imread()方法不同的flags差异性获取单色通道【R通道、G通道、B通道】HSV、YUV、RGB 一…...

什么是回调函数(callback function)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 回调函数(Callback Function)⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这…...

零售再增长,直播登“C位”,美团稳稳交出成绩单

8月24日,美团发布2023年中期业绩和二季报,财报显示其二季度实现营收680亿元,同比增长33.4%;实现净利润47.13亿元,同比扭亏为盈,调整后净利润达历史最高水平。其中,与消费市场走势息息相关的美团…...

什么是需求可追溯性,为什么它对产品团队很重要?

随着产品变得越来越复杂,需求在开发过程中将在各个部门和利益相关方之间不断传递。可追溯性能帮助产品团队解决他们在需求管理过程中面临的一大挑战。 目前产品开发需要做出的决策比以往任何时候都多,每一种决策都需要充分考虑对具体需求和整体产品的影…...

Window基础命令

文章目录 查看哪些端口被禁用TCP协议删除开机启动项方案1方案2 查看哪些端口被禁用TCP协议 netsh interface ipv4 show excludedportrange protocoltcp删除开机启动项 方案1 列出所有启动项 bcdedit /enum仔细看你要删除的是哪一项(看description)&a…...

Java List的扩容机制原理及应用

Java List的扩容机制原理及应用 引言 在Java中,List是一种非常常用的数据结构,用于存储有序的元素集合。List的底层实现有多种,如ArrayList、LinkedList等。在使用List时,我们经常会遇到一个问题:当元素数量超过了Li…...

Cesium 显示经纬高

文章目录 需求分析 需求 页面展示经、纬度和高 分析 html <div id"latlng_show" style"width:340px;height:30px;position:absolute;bottom:40px;right:200px;z-index:1;font-size:15px;"><div style"width:100px;height:30px;float:left;…...

专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算

许多 Web3 应用在实现的过程中&#xff0c;常常会遇到基础设施方面的限制&#xff0c;包括去中心化自动化、预言机、链上信息搜索等问题。绝大部分区块链的中间件网络都是依赖于节点质押来保证节点执行的诚实性&#xff0c;这样的模式会产生诸多衍生问题&#xff0c;例如安全性…...

ThreadLocal存放当前用户

用户信息必须由后端获取&#xff0c;不能通过前端传入的id是不可信的&#xff0c;&#xff0c;可能会出现越权的问题&#xff0c;&#xff0c;&#xff0c;怎么通过后端获取当前登录用户&#xff0c;&#xff0c;&#xff0c; 就需要将User 和 当前线程绑定在一起&#xff0c;&…...

es入门实战

创建索引 PUT /hotel/ { “mappings”:{ “properties”:{ “title”:{ “type”:“text” }, “city”:{ “type”:“keyword” }, “price”:{ “type”:“double” } } } } 给索引写入数据 POST /hotel/_doc/001 { “title”:“好再来大酒店”, “city”:“东京”, “pri…...

c++系列之指针

今天不是做题系列&#xff0c;是知识系列啦。 说到指针&#xff0c;我们初学这一定会气的牙痒痒把&#xff0c;笔者也是&#xff0c;这么我好久而不得呀&#xff0c;今天来让我们聊聊指针。 其一 首先&#xff0c;我们明确的知道&#xff0c;假如我们开一个变量&#xff0c;…...

网络安全:挑战与防护策略

一、引言 随着科技的快速发展&#xff0c;互联网已经成为我们生活和工作的重要组成部分。然而&#xff0c;随着网络技术的不断升级&#xff0c;网络安全问题也日益凸显。网络攻击、数据泄露、身份盗用等问题&#xff0c;不仅威胁到个人隐私&#xff0c;也对企业和国家的安全构…...

Comsol瓦斯抽采:多物理场耦合的奇妙探索

comsol瓦斯抽采 该案例涉及有效应力场&#xff0c;瓦斯渗流场等多物理场耦合。 包括钻孔瓦斯抽采模型&#xff0c;热流固耦合模型&#xff0c;顺层瓦斯抽采模型&#xff0c;注氮驱替瓦斯模型&#xff0c;水力压裂模型&#xff0c;三轴裂隙岩体渗流应力耦合&#xff0c;采空区瓦…...

【深度学习】RoBERTa:BERT的优化升级与实战应用

1. RoBERTa&#xff1a;BERT的全面进化 第一次接触RoBERTa时&#xff0c;我正为一个电商评论情感分析项目发愁。当时用BERT模型效果总是不稳定&#xff0c;直到尝试了RoBERTa&#xff0c;准确率直接提升了5个百分点。这个经历让我意识到&#xff0c;看似细微的技术改进在实际应…...

跨平台模组获取:Steam创意工坊资源的多引擎下载方案

跨平台模组获取&#xff1a;Steam创意工坊资源的多引擎下载方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 诊断访问障碍&#xff1a;游戏模组获取的系统性问题分析 识别用…...

创新型音乐收藏管理:用Listen1构建个人音乐生态的完整指南

创新型音乐收藏管理&#xff1a;用Listen1构建个人音乐生态的完整指南 【免费下载链接】listen1_chrome_extension one for all free music in china (chrome extension, also works for firefox) 项目地址: https://gitcode.com/gh_mirrors/li/listen1_chrome_extension …...

提升网络调试效率,快马AI一键生成端口扫描与服务检测实用脚本

最近在调试网络服务时&#xff0c;经常需要手动检查端口状态和接口可用性&#xff0c;重复劳动特别耗时。于是尝试用Python写了个自动化工具&#xff0c;发现效果不错&#xff0c;分享下实现思路和使用体验。 端口扫描功能实现 通过socket模块实现基础的TCP连接检查&#xff0c…...

90% LVGL 新手踩大坑!分不清「父子控件」和「Python 子类」

上面我们说到了 LVGL 采用父子对象模型&#xff1a;所有 UI 元素都是 lv.obj 的子类&#xff0c;通过父子关系构建界面层级&#xff08;屏幕 → 按钮 → 标签&#xff09;&#xff0c;这是新手最容易混淆的两个「父子 / 子类」概念。 首先要明确&#xff1a;LVGL 里的「父子对…...

避开SDR通信的‘坑’:我在用Pluto做16QAM传输时遇到的相位偏移和同步问题

避开SDR通信的‘坑’&#xff1a;我在用Pluto做16QAM传输时遇到的相位偏移和同步问题 第一次用Pluto SDR搭建16QAM通信链路时&#xff0c;我盯着屏幕上扭曲的星座图发呆了半小时——理论上完美的16个星点&#xff0c;在实际接收时却像被无形的手揉成了一团毛线。这种挫败感想必…...

CoPaw模型多轮对话效果深度评测:连贯性、逻辑性与知识准确性

CoPaw模型多轮对话效果深度评测&#xff1a;连贯性、逻辑性与知识准确性 1. 开场白&#xff1a;为什么关注多轮对话能力 最近测试了不下20个大语言模型&#xff0c;发现一个有趣现象&#xff1a;单轮问答表现都不错&#xff0c;但一到多轮对话就原形毕露。有的模型聊着聊着就…...

圣女司幼幽-造相Z-Turbo开发利器:VS Code与GitHub高效协作配置

圣女司幼幽-造相Z-Turbo开发利器&#xff1a;VS Code与GitHub高效协作配置 最近在折腾圣女司幼幽-造相Z-Turbo这个项目&#xff0c;发现团队协作效率是个大问题。代码在本地改完&#xff0c;传到服务器上跑&#xff0c;结果不对&#xff0c;又得拉下来改&#xff0c;一来二去时…...

Dragon Knight CTF 2024 实战复盘:从SSRF到SQL注入的完整攻防解析

1. SSRF漏洞的发现与利用 在Dragon Knight CTF 2024的Web赛题中&#xff0c;我们首先遇到了一个典型的SSRF&#xff08;服务器端请求伪造&#xff09;漏洞。这个漏洞隐藏在c3s4f.php文件中&#xff0c;通过简单的F12开发者工具检查就能发现端倪。 我习惯性地先查看页面源代码…...