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=onC:\Users\Administrator> go env -w GOPROXY=https://proxy.golang.com.cn,directC:\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.rhkb.cn/news/271350.html

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

相关文章

印象笔记 - Markdown 入门指南

一、Markdown 是什么? Markdown 是一种轻量级的「标记语言」,创始人为约翰格鲁伯,用简洁的语法代替排版,目前被越来越多的知识工作者、写作爱好者、程序员或研究员广泛使用。其常用的标记符号不超过十个,相对于更为复…

游戏视频怎么录制?超实用的干货来了!

随着游戏产业的蓬勃发展,游戏视频录制与分享已经成为许多玩家和游戏爱好者展示技巧、分享经验、记录精彩瞬间的重要方式。可是很多人不知道游戏视频怎么录制,本文旨在为广大游戏玩家提供两种简单易用的游戏视频录制方法,这两种方法各有特点&a…

OpenCV开发笔记(七十六):相机标定(一):识别棋盘并绘制角点

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/136535848 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿…

SinoDB卸载

1.进入卸载目录程序 命令:cd /opt/uninstall/uninstall_ids/ 2.启动卸载程序,开始卸载SinoDB 命令:./uninstallids 我们需要删除 SinoDB 数据库组件和全部的数据库,输入 2 并回车。 3.卸载程序开始运行 4.SinoDB 数据库卸载成功…

音频库及分析软件介绍

搞音频的兄弟必须要看一下的,俗话说,工欲善其事必先利其器,好的音频分析软件,对于音频分析工程师来讲,可谓是非常重要的,下面由小编介绍一下:

DailyNotes个人笔记管理工具

DailyNotes 是记录笔记和跟踪任务的应用程序,使用markdown进行编辑 部署 下载镜像 docker pull m0ngr31/dailynotes创建目录并授权 mkdir -p /data/dailynotes/config_dir chmod -R 777 /data/dailynotes启动容器 docker run -d --restart always --name mynot…

SMiC矩阵将于3月6日正式上线,开启数字化经济新纪元

在数字化浪潮的推动下,全球瞩目的SMiC矩阵将于2024年3月6日正式上线。这一里程碑式的事件标志着数字化经济迈入了一个全新的时代,为思洣客、合作伙伴和整个经济生态带来了前所未有的机遇和挑战。 SMiC矩阵作为引领数字化经济的新力量,始终致…

【Ubuntu 20.04 / 22.04 LTS】最新 esp-matter SDK 软件编译环境搭建步骤

仓库链接:esp-matter SDK官方软件说明:ESP Matter Programming Guide官方参考文档:使用 Matter-SDK 快速搭建 Matter 环境 (Linux) 环境要求 Ubuntu 20.04 或 Ubuntu22.04网络环境支持访问 Gihub 在安装 esp-matter SDK 软件编译环境之前&a…

CAN总线及通讯的工作原理

一、CAN总线 CAN是控制器局域网络(Controller Area Network)的简称, 它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的, 并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。 二、工作原理 …

day13_微服务监控Nginx(微服务集成SBA)

文章目录 1 微服务系统监控1.1 监控系统的意义1.2 SBA监控方案1.3 SBA实战1.3.1 创建SBA服务端1.3.2 微服务集成SBA 1.4 微服务集成logback1.5 配置邮件告警 2 Nginx2.1 Nginx简介2.2 下载和安装2.2.1 方式1:window本地安装2.2.1.1 下载2.2.1.2 安装2.2.1.3 目录结构…

Spring Boot异常处理和单元测试

1.SpringBoot异常处理 1.1.自定义错误页面 SpringBoot默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会向/error 的 url 发送请求。在 springBoot 中提供了一个叫 BasicErrorController 来处理/error 请…

[C++]类和对象,explicit,static,友元,构造函数——喵喵要吃C嘎嘎4

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

数据中台开源技术栈:一图看懂全面的数据管理与应用架构

随着数字化时代的到来,数据管理和应用架构变得越来越重要。数据平台作为一个集中管理和利用数据的架构,为组织提供了促进数据驱动决策和业务创新的能力。本文通过一幅图表,将数据平台技术栈的组成部分清晰呈现,助您深入了解数据中…

在NAT模式下,局域网内的其他电脑要访问使用NAT模式的虚拟机或设备

在NAT模式下,局域网内的其他电脑要访问使用NAT模式的虚拟机或设备 可以通过以下几种方式: 1、端口映射:在NAT模式下,你可以配置端口映射,类似于Docker中的端口映射。这样,局域网内的其他电脑就可以通过特…

【机器学习】详解正则化思想

我们的生活当中真正有意义或者有价值的部分可以概括为两句话:一句话是:弄清楚某个东西是怎么一回事,另一句话是,弄清楚某个东西是怎么一回事。头一句话,我们弄清楚的那个东西对于我们而言是未知的,但是已经…

【CSS】简单的抽屉面板展开收起自然过渡效果的css

目录 效果展示css固定梯形按钮至抽屉面板中间梯形按钮css过渡动画 效果展示 1.收起时点击蓝色梯形按钮展开 2. 展开时点击蓝色按钮收起 3.展开收起时需要过渡自然,有抽屉推拉效果 css 固定梯形按钮至抽屉面板中间 .toggle{ position: absolute;left:-21px;top…

能换发型的相机app有哪些?5款APP帮你一键换发型

能换发型的相机app有哪些?在当前的数字化时代,发型变换不再受限于传统理发店的繁琐流程。只需一款合适的相机app,便能轻松尝试各种新颖发型。这些app凭借先进的图像处理技术,将发型与用户的照片精准融合,实现逼真的换发…

“空气清新剂”成网红!6.29美金,单周热销近5万单!

草莽时期的“造富神话”或许不再,但TikTok电商仍然生机勃勃,新的爆款、新的营销还在出现。 鉴于美国汽车保有量的增长,车内装饰和汽车用品的需求也相应上升,而TikTok在这一趋势中扮演着至关重要的引导角色,越来越多[汽…

HUAWEI Pocket 2说的防晒检测,能做到什么程度?

防晒是必须,还是噱头?我们来看一下经典案例: 《新英格兰医学杂志》调查一名69岁的卡车司机发现,他位于车窗侧、遭受更多阳光直晒的左半边脸,无论是皱纹还是皮肤厚度,都要比远离阳光的右半边脸要严重得多&am…

【数据结构】栈和队列的应用——括号匹配 + 表达式求值 + 表达式转换 +栈的递归应用+队列在计算机系统中的应用

文章目录 3.栈的应用3.1 括号匹配问题3.2 表达式求值3.2.1 三种算术表达式3.2.2 后缀表达式A.中缀转后缀B.后缀表达式的计算 3.2.3 前缀表达式A.中缀转前缀B.前缀表达式的计算 3.2.4 中缀表达式的求值 3.3 递归中栈的应用 4.队列的应用 栈基础知识:【数据结构】栈 顺…