Go的安装

一. 下载地址

        Go官方下载地址:https://golang.org/dl/

        Go中文网:https://go.p2hp.com/go.dev/dl/ 

         根据不同系统下载不同的包。

二. 配置GOPATH

        GOPATH是一个环境变量,用来表明你写的go项目的存放路径。

        GOPATH路径最好只设置一个,所有项目代码都放到GOPATH的src目录下。

在window下设置:

  • 找到环境变量:我的电脑->属性->高级系统设置->环境变量
  • 检查你的电脑是否存在GOPATH(如果没有新建一个,同时新建一个你存go代码的目录),并且设置值为你要存的go代码的目录

  • 在PATH环境变量下添加go的安装目录和GOPATH目录

        2.1 go项目目录 

         在进行Go语言开发时,我们的代码总是回保存在$GOPATH/src目录下,在工程经过go build,go install或者go get等指令之后,会将下载的第三方源代码文件放在$GOPATH/src目录下,产生的二进制可执行文件放在$GOPATH/bin目录下,生成的中间缓存文件会被保存在$GOPATH/pkg目录下。

        如果我们使用版本管理工具(比如:git)来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可,bin和pkg目录的内容无序版本控制。

        2.2 适合个人开发者

        我们知道源代码都是放在GOPATH的src目录下,我们可以按照下图来组织我们的代码:

        2.3  流行的项目结构

         Go语言也是通过包来组织代码文件,我们可以引用别人的包,也可以发布自己的包,但是为了防止不同包的项目名相同,我们通常使用顶级域名来作为包名的前缀,这样那就不同担心项目名冲突的问题了。

        因为不是每个个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的github用户名来区分不同的包。

        举个例子:

        张三和李四都有一个名叫studygo的项目,那么这两个包的路径就会是:

import "github.com/zhangsan/studygo"
import "github.com/lisi/studygo"

         以后我们从github上下载别人的包的时候,如:

go get github.com/jmoiron/sqlx

        那么,这个包会下载到我们本地GOPATH目录下的src/github.com/jmoiron/sqlx。

        2.4 适合企业开发者

三. 编辑器       

        3.1 安装go插件

        启动vscode,选择插件搜索go选择Go for visual studio code 插件安装即可。

        3.2 vscode安装Go语言开发工具包

        这里说的是使用vscode来安装Go语言开发工具包。在Go语言开发的时候为我们提供诸如代码提示,代码自动补全等功能。

        在vscode中按下Ctrl+shift+p快捷键,在输入框中填入go:install,下面会自动搜索命令。选择箭头指向的那个。

        选择全部,点击确定。

        vscode会下载安装图列工具,但是由于国内网络环境基本有的工具会安装失败。

解决办法:设置代理。

C:\Users\Administrator> go env -w GO111MODULE=on

C:\Users\Administrator> go env -w GOPROXY=https://proxy.golang.com.cn,direct

C:\Users\Administrator>go version
go version go1.22.1 windows/amd64

        3.3 修改vscode终端cmd启动

        在运行代码时需要终端运行,有的vscode默认终端是powershell,下面介绍修改成cmd终端。

        在文件->首选项->设置中打开settings页面。

四. 第一个go程序

  • 进入gopath环境变量地址下的src目录
  • 在src目录下创建一个hello目录,在hello目录下创建一个main.go文件
  • 使用vscode编写代码

上面的报错解决方法来源:配置 Visual Studio Code for Go 开发 - Go on Azure | Microsoft Learn 

在go文件所在文件内创建另一个用于创建根控制器的文件夹(文件夹名随意,这里是sample-app)

然后使用终端进入对应目录,使用命令go mod init sample-app之后便会生成go.mod文件,然后就可以正常使用了

  • 在hello目录下终端执行go build

        go 编译器会去GOPATH的src目录下查找你要编译的hello项目,编译得到的可执行文件会保存在执行编译命令的当前目录下。

  • 在终端执行可执行文件

        还可以使用-o参数来指定编译后的可执行文件名字。

         go build -o hello.exe 

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

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

相关文章

【JavaEE初阶】 JVM 运行时数据区简介

文章目录 🍃前言🌲堆(线程共享)🎄Java虚拟机栈(线程私有)🎋本地方法栈(线程私有)🌳程序计数器(线程私有)🌴方法…

CentOS上安装MySQL 5.7和MySQL 8.0教程

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

Hive的性能优化

1.调优概述 Hive 作为大数据领域常用的数据仓库组件,在设计和查询时要特别注意效率。影响 Hive 效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、Job或I/O过多、MapReduce分配不合理等等。对 Hive 的调优既包含 Hive 的建表设计方面,对H…

如何学习I2C协议

文章目录 学习I2C协议0 懒人直达1 了解协议开发者2 从恩智浦半导体公司下载官方技术文档3 翻译成中文4 资源下载 学习I2C协议 0 懒人直达 点击直达 1 了解协议开发者 I2C(Inter-Integrated Circuit)协议是由荷兰皇家飞利浦电子公司(现恩智…

python 基础知识点(蓝桥杯python科目个人复习计划59)

今日复习内容:做题 例题1:建造房屋 问题描述: 小蓝和小桥是两位年轻的建筑师,他们正在设计一座新的城市。 在这个城市中,有N条街道,每条街道上有M个位置可以建造房屋(一个位置只能建造一个房…

#14vue3生成表单并跳转到外部地址的方式

1、背景 后端返回的json数据中包含一个json数组,此数组中是目标跳转地址所需要的form表单的数据。 2、跳转前的页面 const goto () > {finish.value true;request.post(/xxx/yyy,{zzz: zzz.value}).then(res > {const url res.data.submitUrlconst params…

洞察未来5-10年数字化转型的革命性趋势

“十四五”规划和2035年远景目标纲要提出了加快数字化发展,建设数字中国的目标, 这意味着数字化转型将成为推动生产方式、生活方式和治理方式变革的关键力量。 加快数字化发展 建设数字中国 ⭐ 打造数字经济新优势 ⭐ 加快数字社会建设步伐 ⭐ 提高数字…

【力扣白嫖日记】1070.产品销售分析III

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1070.产品销售分析III 表:Sales 列名类型sale_idintproduct_idintyearintquantityintpriceint …

Selenium自动化测试-3.元素定位(1)

这次我们要分享的是对元素的定位,在一个页面中有很多不同的策略来定位一个元素,我们选择最合适的方法即可。 一个页面最基本组成单元是元素,想要定位一个元素,我们需要特定的信息来说明这个元素的唯一特征。 selenium 主要提供了…

Javaweb之Web后端开发总结的详细解析

4. Web后端开发总结 到此基于SpringBoot进行web后端开发的相关知识我们已经学习完毕了。下面我们一起针对这段web课程做一个总结。 我们来回顾一下关于web后端开发,我们都学习了哪些内容,以及每一块知识,具体是属于哪个框架的。 web后端开…

BUUCTF-Misc2

wireshark1 1.打开附件 发现是流量包,放到Wireshark中分析 2.过滤 根据题目的提示寻找管理员登录的网站,从中获取密码 用http.request.methodPOST,过滤当前的 HTTP 请求为 POST 方法 3.查找 双击过滤后的流量包,查找管理员密码…

HarmonyOS(二)Ability应用模型概述

目录 1 Ability概念 2 Ability形态 3 Stage优势 4 Stage模型结构 5 总结 注:本章内容提前声明。 基于HarmonyOS开发者3.1/4.0版本配套的开发者文档,对应API能力级别为API 9 Release。 详情可参考官网API入门第一章应用模型文档中心 1 Ability概念…

Sleuth(Micrometer)+ZipKin分布式链路追踪

Sleuth(Micrometer)ZipKin分布式链路追踪 Micrometer springboot3之前还可以用sleuth,springboot3之后就被Micrometer所替代 官网https://github.com/spring-cloud/spring-cloud-sleuth 为什么会出现这个技术? 在微服务框架中,一个由客户…

SAP MM学习笔记44 - 特殊调达流程 - Blanket购买发注(汇总采购)

上一章学习了 支付计划,本章继续学习 Blanket购买发注(汇总采购)。 SAP MM学习笔记43 - 特殊调达流程 - 支付计划-CSDN博客 1,Blanket购买发注 概要 其实就是订好一个大致数额,然后让随便买,只要不超这个…

O2O:Offline Meta-Reinforcement Learning with Online Self-Supervision

ICML 2022 paper Introduction 元强化学习(Meta RL)结合O2O。元RL需要学习一个探索策略收集数据,同时还需学习一个策略快速适应新任务。由于策略是在固定的离线数据集上进行元训练的,因此在适应探索策略收集的数据时,它可能表现得不可预测&…

汽车小车车灯无痕修复用的胶是什么胶?

汽车小车车灯无痕修复用的胶是什么胶? 可以使用在小车车灯无痕修复中的胶水,通常使用的车灯无痕修复专用UV胶。 车灯无痕修复专用胶主要成份是改性丙烯酸UV树脂,主要应用在车灯的专业无痕修复领域。它可以用于修复车灯壳的裂缝或破损&#xf…

浅析扩散模型与图像生成【应用篇】(八)——BBDM

8. BBDM: Image-to-Image Translation with Brownian Bridge Diffusion Models 本文提出一种基于布朗桥(Brownian Bridge)的扩散模型用于图像到图像的转换。图像到图像转换的目标是将源域 A A A中的图像 I A I_A IA​,映射到目标域 B B B中得…

基于cnn卷积神经网络的车辆颜色检测识别-图像去雾-图像去雨(改进yolo目标检测-附代码)

– 引言: 开篇简述图像处理在智能交通监控、自动驾驶等领域的关键作用,并强调随着深度学习尤其是卷积神经网络(CNN)的发展,在复杂环境下的车辆颜色精确识别、图像恢复(如去雾和去雨)等难题得以…

数字孪生10个技术栈:数据处理的六步骤,以获得可靠数据。

一、什么是数据处理 在数字孪生中,数据处理是指对采集到的实时或历史数据进行整理、清洗、分析和转化的过程。数据处理是数字孪生的基础,它将原始数据转化为有意义的信息,用于模型构建、仿真和决策支持。 数据处理是为了提高数据质量、整合数…

腾讯云学生服务器多少钱?怎么申请?

2024年腾讯云学生服务器优惠活动「云校园」,学生服务器优惠价格:轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年,CVM云服务器2核4G配置842.4元一年&…