当前位置: 首页 > 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;也对企业和国家的安全构…...

ARM动态内存控制器与SDRAM地址映射技术详解

1. ARM动态内存控制器基础解析动态内存控制器&#xff08;Dynamic Memory Controller&#xff0c;简称DMC&#xff09;是现代嵌入式系统中管理SDRAM等易失性存储器的核心组件。作为处理器与存储设备之间的桥梁&#xff0c;DMC通过高效的地址映射技术实现两者间的数据通信。在AR…...

DeepSeek总结的pg_clickhouse v0.3.0的新特性

来源&#xff1a;https://justatheory.com/2026/05/pg_clickhouse-0.3.0/ pg_clickhouse 的新特性 日期: 2026年5月11日 关于 pg_clickhouse 项目的新闻汇总。 新特性 首先&#xff0c;几周前 ClickHouse 博客发表了《pg_clickhouse 的新特性》一文&#xff0c;其中我介绍了该扩…...

FinFET与FD-SOI工艺下的IC可靠性验证关键技术

1. 集成电路可靠性验证的挑战与演进在28nm工艺节点之前&#xff0c;芯片设计工程师面临的选择相对简单——只需沿着摩尔定律的轨迹向下一个工艺节点迁移。但随着FinFET和FD-SOI等新型晶体管结构的出现&#xff0c;以及台积电、三星等代工厂推出的多样化工艺节点选项&#xff0c…...

如何将Claude Code的配置无缝迁移至Taotoken平台以解决封号困扰

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 如何将Claude Code的配置无缝迁移至Taotoken平台以解决封号困扰 Claude Code 作为一款高效的编程助手&#xff0c;其核心能力依赖于…...

量子噪声对机器学习模型的影响与缓解策略

1. 量子噪声与机器学习模型的复杂关系量子计算领域近年来最令人兴奋的进展之一&#xff0c;就是量子机器学习&#xff08;QML&#xff09;的兴起。作为一名长期跟踪量子计算发展的从业者&#xff0c;我亲眼见证了量子算法在机器学习任务中展现出的惊人潜力。然而&#xff0c;在…...

【Nature期刊精准捕获术】:基于Perplexity语义图谱的跨学科文献溯源方法论(附2024最新验证数据集)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;【Nature期刊精准捕获术】&#xff1a;基于Perplexity语义图谱的跨学科文献溯源方法论&#xff08;附2024最新验证数据集&#xff09; 传统关键词检索在跨学科高影响力期刊&#xff08;如 Nature、Scie…...

win10打印机不能共享报0x0000011b/0x00000709修复工具合集分享 ,亲测解决Windows打印机共享报错问题

先说说我的情况。公司大概十几个人&#xff0c;两台共享打印机&#xff0c;一台接在Win10的台式机上&#xff0c;一台接在Win11的笔记本上。本来用着一直正常&#xff0c;去年开始&#xff0c;陆陆续续有同事反映连不上打印机。 最常见的报错就是0x00000709&#xff0c;还有0x…...

PCI总线‘对话’的艺术:主从设备如何通过FRAME#、STOP#信号优雅地‘开始’与‘结束’传输

PCI总线‘对话’的艺术&#xff1a;主从设备如何通过FRAME#、STOP#信号优雅地‘开始’与‘结束’传输 在计算机系统的内部世界里&#xff0c;总线的数据传输就像一场精心编排的舞会。PCI总线作为这场舞会的舞台&#xff0c;主从设备之间的每一次交互都遵循着严格的礼仪规则。这…...

告别龟速下载!实测对比Axel、Aria2、mwget三大神器,教你选对多线程工具

三大命令行下载神器深度横评&#xff1a;Axel、Aria2与mwget的性能对决 当你在终端里反复输入wget或curl命令&#xff0c;盯着缓慢增长的进度条时&#xff0c;是否想过还有更高效的解决方案&#xff1f;本文将带你深入探索Axel、Aria2和mwget这三款命令行下载加速工具&#xff…...

原神帧率解锁技术解析:三步突破60FPS限制的完整方案

原神帧率解锁技术解析&#xff1a;三步突破60FPS限制的完整方案 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 你是否曾为《原神》PC版的60FPS限制感到困扰&#xff1f;当你的高性能显卡…...