安装GO环境

news/2024/7/14 18:39:33/文章来源:https://blog.csdn.net/qq_53318060/article/details/139103928
#windows
1.下载go的安装包msi,下载完双击运行,指定一个目录进行安装
#msi安装时,会自动设置以下环境变量:
#GOPATH(默认设置为C:\Users\hhx\go),
#C:\Users\hhx\go\bin,
#go安装位置下的bin目录
2.检查是否安装成功,终端中运行go version

解释一些环境变量

GOROOT:go的安装位置(等同于JAVA_HOME)
GOPATH:
#When using modules, GOPATH is no longer used for resolving imports.
#However, it is still used to store downloaded source code(in GOPATH/pkg/mod) and compiled commands(in GOPATH/bin).
#In module-aware mode, GOPATH no longer defines the meaning of imports during a build, but it still stores downloaded
#dependencies(in GOPATH/pkg/mod) and installed commands(in GOPATH/bin, unless GOBIN is set).GO111MODULE:值为on或unset时,go命令以module-aware模式运行(即使没有go.mod文件)
#In module-aware mode, the go command uses go.mod files to find versioned dependencies, and it typically loads
#packages out of the module cache, downloading modules if they are missing.
#In GOPATH mode, the go command ignores modules; it looks in vendor directories and in GOPATH to find dependencies.
GOPROXY:下载第三方module的方式(module proxy server,git等vcs)
GOCACHE:编译产生的中间文件缓存#The go command caches build outputs for reuse in future builds.
GOMODCACHE:下载的module依赖存放位置#A local directory storing downloaded modules, located in GOPATH/pkg/mod.

go项目结构

A complete program is created by linking a single, unimported package called the main package with all the packages it imports, transitively.

#module
A module is a collection of packages that are released, versioned, and distributed together.
A module is identified by a module path, which is declared in a go.mod file, together with information
about the module’s dependencies. 
The module root directory is the directory that contains the go.mod file.#import
import path和package path一样
A string used to import a package in a Go source file.
#import "lib/math",使用的时候用包名引用,math.Sin
#import m "lib/math",使用的时候用别名引用,m.Sin
#import . "lib/math",直接使用,Sin
import a package solely for its side-effects(initialization), use the blank identifier as explicit package name
#import _ "lib/math"
#package
A package clause begins each source file and defines the package to which the file belongs.
package是一个逻辑概念,和文件所处的目录名没有关系,但一般规范package名字和文件所处目录名一样.同一个目录下的所有源文件通常属于同一个package
一个目录下的源文件可以属于不同的package(如标准库src/fmt目录下,src/time目录下)
一个package内不能有同名的变量(类型不同也不行),也不能有同名的函数(不支持函数重载)
一个package内不同源文件之间的变量,函数可以互相调用A package path is the module path joined with the subdirectory containing the package (relative to the module root).
#module path+package所在目录相对于module root的路径

调试go项目

调试go项目时,delve的版本需要支持使用的go版本
go install github.com/go-delve/delve/cmd/dlv@latest
将生成的dlv.exe替换掉goland中的dlv程序

https://go.dev/doc/install
https://go.dev/wiki/GOPATH
https://pkg.go.dev/cmd/go
https://blog.csdn.net/chushoufengli/article/details/127516201
https://github.com/golang/go/issues/50244
https://youtrack.jetbrains.com/issue/GO-4287
https://stackoverflow.com/questions/20427890/does-it-make-sense-to-have-two-packages-in-the-same-directory
https://youtrack.jetbrains.com/issue/GO-4287/incorrect-multiple-packages-in-directory-with-build-ignore
https://github.com/flycheck/flycheck/issues/676
https://go.dev/ref/mod
https://go.dev/ref/spec
https://go.dev/wiki/
https://pkg.go.dev/cmd/go#hdr-Environment_variables
https://go.dev/ref/mod#module-cache
https://go.dev/doc/go-get-install-deprecation
https://go.dev/doc/modules/managing-dependencies
https://www.reddit.com/r/golang/comments/2xhfwa/is_there_a_way_to_have_two_packages_in_same_folder/
https://stackoverflow.com/questions/59718540/go-mod-init-creating-new-folders-what-is-the-significance-of-path

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Python发送电子邮件

大家好,当我们需要迅速、方便地与他人沟通时,电子邮件是无疑是一种不可或缺的通信工具。无论是在个人生活中还是工作场合,电子邮件都是我们日常生活中的重要组成部分。它不仅能够传递文字信息,还可以发送附件、链接和嵌入式多媒体…

Ubuntu 如何根据NVIDIA显卡型号确定对应的显卡驱动版本并安装

目录 一、查询推荐安装的驱动版本 二、安装推荐版本的驱动 1. 通过终端安装,只安装 nvidia 驱动(亲测可用!) 2. 通过 software & Updates 安装,安装 nvidia 驱动。 三、查询能安装的最新的显卡驱动版本 1. 方…

贪心算法[1]

首先用最最最经典的部分背包问题来引入贪心的思想。 由题意可知我们需要挑选出价值最大的物品放入背包&#xff0c;价值即单位价值。 我们需要计算出每一堆金币中单位价值。金币的属性涉及两个特征&#xff0c;重量和价值。 所以我们使用结构体。 上代码。 #include <i…

Github 2024-05-29 C开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-29统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目10C++项目3PHP项目1PHP:流行的Web开发脚本语言 创建周期:4710 天开发语言:C, PHP协议类型:OtherStar数量:37340 个Fork数量:7657 次…

基于python flask +pyecharts实现的气象数据可视化分析大屏

背景 气象数据可视化分析大屏基于Python Flask和Pyecharts技术&#xff0c;旨在通过图表展示气象数据的分析结果&#xff0c;提供直观的数据展示和分析功能。在当今信息化时代&#xff0c;气象数据的准确性和实时性对各行业具有重要意义。通过搭建气象数据可视化分析大屏&…

苹果手机屏幕录制在哪里?快速上手教程来啦!

随着智能手机的普及&#xff0c;手机录制屏幕功能变得越来越受欢迎。尤其是在苹果手机上&#xff0c;内置的屏幕录制功能非常方便&#xff0c;可以轻松录制手机操作过程、游戏过程等。本文将为您介绍苹果手机屏幕录制在哪里&#xff0c;帮助大家轻松掌握屏幕录制的技巧。 苹果手…

汽车制造业安全有效的设计图纸文件外发系统是什么样的?

在汽车制造的世界里&#xff0c;那些设计图不仅仅是公司智慧的闪光点&#xff0c;更是它们竞争的秘密武器。但问题来了&#xff0c;当公司需要和供应商、合作伙伴频繁交换数据时&#xff0c;怎样安全又高效地发送这些设计图&#xff0c;就成了一个头疼的问题。这篇文章会深挖一…

Vue进阶之Vue项目实战(四)

Vue项目实战 出码功能知识介绍渲染器性能调优使用 vue devtools 进行分析使用“渲染”进行分析判断打包构建的产物是否符合预期安装插件使用位置使用过程使用lighthouse分析页面加载情况使用performance分析页面加载情况应用自动化部署与发布CI/CD常见的CI/CD服务出码功能 出码…

科技引领未来:高速公路可视化

高速公路可视化监控系统利用实时视频、传感器数据和大数据分析&#xff0c;通过图扑 HT 可视化展示交通流量、车速、事故和路况信息。交通管理人员可以实时监控、快速响应突发事件&#xff0c;并优化交通信号和指挥方案。这一系统不仅提高了道路安全性和车辆通行效率&#xff0…

1806 jsp防疫物资销售管理系统 Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 防疫物资销售管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助采用了java设计&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.…

香橙派OrangePi AIpro,助力国产AIoT迈向新的台阶!

前言&#xff1a;很高兴受邀CSDN与OrangePi官方组织的测评活动&#xff0c;本次测评是一块基于AI边缘计算的香橙派开发板OrangePi AIpro。这是 香橙派 联合 华为昇腾 合作精心打造的新一代边缘AI计算产品&#xff0c;于2023年12月初发布&#xff0c;提供 8/20TOPS澎湃算力[1]&a…

干货 | 学习网络安全,推荐6个常用的安全知识在线手册(非常详细)零基础入门到精通,收藏这一篇就够了

排名不分先后&#xff0c;欢迎各位小伙伴下方留言评论补充 **VulDoc ** 包含&#xff1a;IOT安全&#xff0c;Web安全&#xff0c;系统安全 地址&#xff1a;http://47.112.148.3:8000/ **滴水逆向学习笔记 ** 包含 汇编 C C Win32 MFC 网络编程 数据库 数据…

Python散点图矩阵代码模版

本文分享Python seaborn实现散点图矩阵代码模版&#xff0c;节选自&#x1f449;嫌Matplotlib繁琐&#xff1f;试试Seaborn&#xff01; 散点图矩阵&#xff08;scatterplot matrix&#xff09;展示原始数据中所有变量两两之间关系&#xff0c;可以规避单一统计指标的偏差&…

被追着问UUID和自增ID做主键哪个好,为什么?

之前无意间看到群友讨论到用什么做主键比较好 其实 UUID 和自增主键 ID 是常用于数据库主键的两种方式&#xff0c;各自具有独特的优缺点。 UUID UUID 是一个由 128 位组成的唯一标识符&#xff0c;通常以字符串形式表示。它可以通过不同的算法生成&#xff0c;例如基于时间…

【启程Golang之旅】掌握Go语言数组基础概念与实际应用

欢迎来到Golang的世界&#xff01;在当今快节奏的软件开发领域&#xff0c;选择一种高效、简洁的编程语言至关重要。而在这方面&#xff0c;Golang&#xff08;又称Go&#xff09;无疑是一个备受瞩目的选择。在本文中&#xff0c;带领您探索Golang的世界&#xff0c;一步步地了…

【算法】dd爱转转

✨题目链接&#xff1a; dd爱旋转 ✨题目描述 读入一个n∗n的矩阵&#xff0c;对于一个矩阵有以下两种操作 1:顺时针旋180 2:关于行镜像 如 变成 给出q个操作&#xff0c;输出操作完的矩阵 ✨输入描述: 第一行一个数n(1≤n≤1000)&#xff0c;表示矩阵大小 接下来n行&#xff…

JavaSE:StringBuilder和StringBuffer类

1、引言 在上一篇文章中&#xff0c;我们理解了字符串的常用方法&#xff0c;细心的同学大概已经发现&#xff0c;不管是将字符串中的字符转变为大写或小写&#xff0c;或是完成字符串的替换&#xff0c;又或是去除空白字符等等&#xff0c;只要涉及到字符串的修改&#xff0c…

绝招曝光!3小时高效利用ChatGPT写出精彩论文

在这份指南中&#xff0c;我将深入解析如何利用ChatGPT 4.0的高级功能&#xff0c;指导整个学术研究和写作过程。从初步探索研究主题&#xff0c;到撰写结构严谨的学术论文&#xff0c;我将一步步展示如何在每个环节中有效运用ChatGPT。如果您还未使用PLUS版本&#xff0c;可以…

CSS学习笔记:rem实现移动端适配的原理——媒体查询

移动端适配 移动端即手机端&#xff0c;也称M端 移动端适配&#xff1a;同一套移动端页面在不同屏幕尺寸的手机上可以实现宽度和高度的自适应&#xff0c;也就是页面中元素的宽度和高度可以根据屏幕尺寸的变化等比缩放 rem配合媒体查询可实现移动端适配 rem单位 媒体查询 …

Redhat9 LAMP安全配置方案及测试

目录 数据库主机 安装Mariadb数据库服务 设置mariadb开机自动启动 Php主机 部署Apache服务器 设置apache服务开机自启 安装php 安装 phpMyAdmin 打开测试机 更新软件包列表&#xff1a; 首先&#xff0c;确保你的软件包列表是最新的。打开终端并输入以下命令&#xf…