当前位置:网站首页>golang安装和基础配置
golang安装和基础配置
2022-08-04 17:45:00 【whynogome】
环境变量
使用命令:go env 可查看所有环境变量
常用的主要有以下环境变量
- GO111MODULE :是否开启mod模式,1.12之后默认为开启
- GOROOT:go的安装目录
- GOPATH:go的工作目录
- GOPROXY:go依赖下载代理地址。默认镜像是国外地址,速度太慢的话可修改为为国内镜像,如:https://goproxy.cn
- GOSUMDB:mod模式下载包时,gosum的验证地址,不设置会报错,可设置为:sum.golang.google.cn
使用命令:go env -w GOSUMDB=sum.golang.google.cn 修改环境变量
常用命令
- go run 文件名 :执行mian文件,不生成任何文件
- go build :编译并生成可执行文件。
若当前目录下有main文件,则在当前目录下生成可执行文件,否则不生成任何文件。go build -o 可执行文件名 可指定生成的文件名和位置 - go install:编译并生成可文件,使用该命令必须配置GOPATH。
若当前目录下有main文件,会在GOPATH/bin目录下生成可执行文件。若当前目录没有main文件,则把目录下的包文件编译为.a文件,并保存到$GOPATH/pkg目录下。 - go get :获取远程依赖包
常用的如:go get github.com/gin-gonic/gin 会自动下载并安装依赖包。若使用了mod,在文件中直接引入即可,执行时会自动下载安装。
也可追加参数,对包进行更新和删除
go install和go build的主要区别就是可以生成.a编译缓存文件。go bulid每次执行都要重新编译所有包文件,而go install则会先检查包对应的.a文件,如果包文件未修改,则直接使用.a文件,不需要重新编译,提高了速度。
如果项目很大,每次编译都要花很长时间,则建议使用 go install 来编译,充分利用它对依赖包的缓存功能。
使用mod创建一个项目
mod是go的依赖管理工具,相当月php的composer。golang在1.11开始才支持mod,在此之前,go使用go get 命令下载依赖包,和项目代码都必须在gopath/src目录下。
modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件,不同项目还可以是使用同一个依赖包,无需重复下载
创建项目
在任意目录下创建一个项目文件夹,如project
打开命令行,在project目录下执行命令:go mod init project
执行成功后,目录下会生成一个go.mod文件夹
下载依赖
在项目目录下新建一个main.go文件,如下
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
fmt.Println("hello mod")
}
文件中引入了gin框架包,我们可以先使用 go get命令先现在依赖,再执行main.go文件
也可也直接执行go main.go,go mod会自动查找依赖自动下载
执行成功后,go.mod文件夹下有一个go.sum文件,可以在go.sum文件下看到gin相关的包
边栏推荐
猜你喜欢
![[Web Automation Test] Quick Start with Playwright, 5 minutes to get started](/img/68/36dd8ef4a4073f03d5e5dad91be20d.png)
[Web Automation Test] Quick Start with Playwright, 5 minutes to get started

【LeetCode Daily Question】——374. Guess the size of the number

租房小程序登顶码云热门

Catering Supply Chain Management System

How to make JS code unbreakable

如何模拟后台API调用场景,很细!

基于层次分析法的“内卷”指数分析

localhost,127.0.0.1,本机IP

CF86D Powerful array

About the two architectures of ETL (ETL architecture and ELT architecture)
随机推荐
荣耀互联对外开放,赋能智能硬件合作伙伴,促进全场景生态产品融合
Kotlin挂起函数原理是什么
怎么面试程序员的?傲慢与无礼,就数他牛逼
[Web Automation Test] Quick Start with Playwright, 5 minutes to get started
R语言ggpubr包的ggtexttable函数可视化表格数据(直接绘制表格图或者在图像中添加表格数据)、使用ggarrange函数将表格数据和可视化图像组合起来(表格数据在可视化图像下方)
【web自动化测试】Playwright快速入门,5分钟上手
小程序经典案例
【日记】mysql数据库连接池
JS兼容问题总结
【 Gazebo introductory tutorial] speak the second model library into robot modeling and visualization (editor) model
arm交叉编译
设置表头颜色
Clearance sword refers to Offer——The sword refers to Offer II 010. and the sub-array of k
【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)
华为云计算HCIE之oceanstor仿真器的使用操作
LeetCode 899. Ordered Queues
【web自动化测试】Playwright快速入门,5分钟上手
太一集团全资收购火币旗下社交产品火信
【日记】mysql基本操作
Thrift安装配置