第一章 Go环境搭建

news2024/11/17 7:31:57

前言

           Golang是一种比较新颖的编程语言,其强大的功能以及底层的强大支撑快速的成为了编程语言的佼佼者,使其备受欢迎。

1、Go的安装与配置

如果你有一定的开发经验或者学习知识肯定知道,如何语言的开发都需要进行环境的配置与相关资源的安装。Go语言也不例外。

Go语言的安装方法:访问Go语言官网(Go下载 - Go语言中文网 - Golang中文社区)进行下载相关安装包,根据自己需要大家的系统环境下载windows/linux/macOs相应的安装包。

1、windows系统安装

下载完成后,进入到下载目录,选择下载的安装包,进行双击安装文件,然后点击“Next”按钮安装即可。系统会推荐安装再默认路径中,自己也可以安装自己定义的目录中。

            按照提示完成安装后,用cmd命令打开命令窗口,输入 go 或者go version 命令 ,打印出相应的版本信息证明安装成功。注意:msi文件安装后,会自动配置相应的环境变量。

2、Linux 安装 

下载Linux适用的安装包,一般是*-amd64.tar.gz 结尾的安装包。也可以通过wget命令进行下载:wget https://golang.org/dl/*-amd64.tar.gz 注意*代表具体的包名称。

下载完成后,把下载的包移到自己需要安装的目录中,推荐/opt目录下。进行解压 tar –zvxf  *-amd64.tar.gz ,解压后会得到相应的go文件夹。

通过 sudo vim /etc/profile 命令进入系统环境变量配置,在最后加入

export GOPATH=$HOME/go

export PATH=$PATH:$GOPATH/bin

export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin

最后刷新 source  /etc/profile 环境变量即可。

3、go 常用命令

        这些命令对于我们平时编写的代码非常有用, 接下来就让我们了解一些常用的命令。

go build

这个命令主要用于测试编译。 在包的编译过程中, 若有必要, 会同时编译与之相关联的包。 当你执行 go build 之后, 它不会产生任何文件。如果你需要在 $GOPATH/pkg 下生成相应的文件, 那就得执行 go install 了。如果是 main 包, 当你执行 go build 之后, 它就会在当前目录下生成一个可执行文件。go build会忽略目录下以“_” 或“.” 开头的go文件。

go clean
这个命令是用来移除当前源码包里面编译生成的文件。

go fmt
公式化代码,使你的代码规范化。

go get
这个命令是用来动态获取远程代码包的, 目前支持的有BitBucket、 GitHub、 Google Code和Launchpad。 这个命令在
内部实际上分成了两步操作: 第一步是下载源码包, 第二步是执行 go install 。go install 这个命令在内部实际上分成了两步操作: 第一步是生成结果文件(可执行文件或者.a包), 第二步会把编译好的结果移
到 $GOPATH/pkg 或者 $GOPATH/bin 。

go test

执行这个命令, 会自动读取源码目录下面名为 *_test.go 的文件, 生成并运行测试用的可执行文件。


go fix 用来修复以前老版本的代码到新版本, 例如 go1 之前老版本的代码转化到 go1
go version 查看 go 当前的版本
go env 查看当前 go 的环境变量
go list 列出当前全部安装的 package
go run 编译并运行 Go 程序

4、Go语言工具

        Go语言开发的工具比较多,比如/Goland/ IntelliJ Idea + Go 插件/6、LiteIDE/ Eclipse+ Go插件等等。这里用IntelliJ + Go 插件环境为例进行叙述。

IDEA配置Go语言开发环境

添加Go插件

(1)首先,启动Intellij IDEA,点击File --> Settings --> Plugins,如下: 

(2)然后,点击 Browse repositories,打开 Browse Repositories,并搜索go,这时候出现很多相关的结果,选择如下即可。

(3)点击 Install,等安装好了,提示重启IDEA即可。

配置GOROOT / 配置GOPATH

点击File --> Settings --> Languages & Frameworks --> Go --> GOROOT,如下所示:

点击File --> Settings --> Languages & Frameworks --> Go --> GOPATH,如果按1中Go语言环境搭建的步骤,相信到这边的 Global GOPATH 就有了如下截图所示的内容,在下面的 Project GOPATH 可以添加我们自己的工程路径。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

12. 图的进阶

12. 图的进阶 12.1 有向图 在实际生活中,很多应用相关的图都是有方向性的,最直观的就是网络,可以从A页面通过链接跳转到B页面,那么a和b连接的方向是a->b,但不能说是b->a,此时我们就需要使用有向图来解决这一类问题&#x…

8 年后端开发,API 设计的学习方法分享

笔者目前在参与一个开源项目,平时接触多的也是 API 相关的核心功能开发,经常会有读者私信我,对于开发新人而言,如何快速学习 API 设计,我简单总结了一下: 1. 学习基础知识:学习HTTP、RESTful AP…

Vue表单基本操作-收集表单数据

收集表单数据 使用vue中的v-model收集表单里面的数据,不同的表单元素配合v-model会有不同的写法和技巧 本次的表单元素包括:文本框,单选,多选,下拉框,文本域 编写表单元素 首先编写表单元素,…

IT项目管理 PPT 选择题【太原理工大学】

单选题,10*2分20分 填空题,10*2分20分 判断题,10*1分10分 画图题,10分 进度计算题,15分 成本计算题,15分 简答题,5*2分10分 重点章节:3、4、5、6、7章 我觉得小题应该是在 PP…

如何在短时间内完成短视频app的上线及推广?

作为一款充满活力和创意的短视频app,想要快速上线并赢得用户的喜爱是一项艰巨的任务。在本文中,我们将探讨如何在短时间内完成短视频app的上线及推广。 短视频app搭建 首先,要成功地上线一款短视频app,您需要一套高质量的小视频…

从零入门激光SLAM(八)——ROS常用消息

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

Scrapy框架 -- POST请求实现案例

一、创建一个Scrapy项目fanyi,并进入该项目创建,fanyipc爬虫文件 scrapy startproject fanyi cd fanyi scrapy genspider example example.com 二、修改配置文件settings,关闭君子协议,只看报错信息,自定义UA头 ROB…

Vue.prototype 详解及使用

前言: 我们可能会在很多组件里用到数据/实用工具,但是不想污染全局作用域。这种情况下,可以通过在原型上定义它们使其在每个 Vue 的实例中可用。 1. 基本示例 在main.js中添加一个变量到 Vue.prototype Vue.prototype.$appName My App这…

ChatGPT应用篇:如何快速生成精美PPT提高工作效率-附资料下载

一、ChatGPT生成markdown源代码 问: 我想做一份ChatGPT变现方法的PPT,请生成丰富的教学展示内容,因为生成PPT是需要MarkDown格式的,请您输出Markdown格式的内容 ChatGPT回复: 二、Mindshow登录/注册 用浏览器打开Mi…

公司为什么禁止SpringBoot项目使用Tomcat?

前言 在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。 同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和…

Mac 安装Charles抓包工具及使用教程(什么,都什么时候了还不会抓包)

Mac 安装Charles抓包工具及使用教程 一、抓包工具对比二、安装Charles三、网页抓包 一、抓包工具对比 这五个工具都是比较常用的抓包工具,具体哪个更适合你需要根据你的具体需求和使用习惯来决定。以下是它们各自的优缺点: Charles:功能强大…

[LeetCode周赛复盘] 第 342 场周赛20230423

[LeetCode周赛复盘] 第 342 场周赛20230423 一、本周周赛总结二、 6387. 计算列车到站时间1. 题目描述2. 思路分析3. 代码实现 三、6391. 倍数求和1. 题目描述2. 思路分析3. 代码实现 四、6390. 滑动子数组的美丽值1. 题目描述2. 思路分析3. 代码实现 五、 6392. 使数组所有元…

Grid (基础DP)

题目&#xff1a; 给一个 HW 的网格&#xff0c;网格由‘.’和‘#’组成&#xff0c;一开始在左上角 (1,1)(1,1) 每一步只能向右或向下走&#xff0c;不能经过 # 格子&#xff0c;求走到右下角 (H,W) 有多少种走法。 其中 2<H,W<1000&#xff1b; 答案对 10^97 取模。…

ZBlog安装SSL证书

Z-BlogPHP简介 Z-BlogPHP是一款强大的博客式建站系统和CMS程序Z-BlogPHP支持PHP 5.2 - 7.4、8.0 - 8.1,可运行在市面上所有的操作系统和WEB服务器之上。 大部分部署ZBlogPHP程序使用Linux比较普遍&#xff0c;这是介绍使用宝塔控制面板安装SSL证书方法&#xff1a; 1、进入Gw…

JDBC操作数据库

数据库介绍 数据库是一种存储结构&#xff0c;允许使用各种格式输入、处理和检索数据&#xff0c;不必再每次需要数据时重新输入。当前比较流行的数据库主要有MySQL、Oracle、SQL Server等 使用JDBC操作数据库&#xff0c;SQL语句是比不可少的&#xff0c;SQL是一种结构化查询…

安装配置 ZLMediaKit

一、ZLMediaKit 库简介 ZLMediaKit 是一个基于 C11 的高性能运营级流媒体服务框架 官方写的项目特点&#xff1a; 基于 C11 开发&#xff0c;避免使用裸指针&#xff0c;代码稳定可靠&#xff0c;性能优越。 支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/Websocket-FLV/GB28181/MP4…

【数据分析之道-Pandas(一)】Series操作

文章目录 专栏导读1、Series简介2、创建Series3、Series索引4、Series切片 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN Python领域新星创作者&#xff0c;专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》&#xff0c;本专栏针对大学生、初级数据分析工…

光线追踪 1(基本概念Whitted-Style Ray Tracing)

为什么要光线追踪 光栅化存在什么问题 无法实现软阴影&#xff08;光源不是严格点光源时&#xff09; 无法解决光线反射超过一次的情况 相对来说光照效果的质量低 光线追踪的特点 准确慢&#xff08;相对光栅化&#xff09; 什么是光线追踪 光线的基本假设 光线沿直…

王道计组(23版)5_中央处理器

CPU 功能 指令控制&#xff1a;取指、分析、执行 操作控制&#xff1a;一条指令的功能由若干操作信号组合实现 时间控制、数据加工、中断处理 基本结构 运算器 ALU&#xff1a;算术/逻辑运算 暂存寄存器&#xff1a;暂存从主存读来的数据&#xff0c;透明 ACC&#xff1a;…

【变量的解构赋值】

变量的解构赋值 1 数组的解构2 对象的解构 ES6允许按照一定模式从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这称为解构赋值。 1 数组的解构 <script>// 1.数组的解构const F4 [小沈阳,刘能,赵四,宋小宝];let [xiao,liu,zhao,song] F4;console.log(xi…