GOPATH 是 Go 语言的工作目录,他的值可以是一个目录路径,也可以是多个目录路径,每个目录都代表 go 语言的一个工作区。

我们开发 Golang 项目时,需要依赖一些别的代码包,这些包的存放路径就与 GOPATH 有关。

在 v1.11 版本之前,所有的代码包都要放到 $GOPATH/src 目录下,那个时候 go 官方还没有支持依赖管理,包括我们自己项目的代码,依赖的代码包,都被放到这个路径下,十分混乱,不利于管理。

而在 v1.11 之后,官方终于支持了包管理,除了能够自动下载依赖包,项目也不再需要放到 $GOPATH/src 下了,项目中会维护一个 go.mod 的文件记录依赖包及其版本,所有依赖的代码包都被放到了 $GOPATH/pkg/mod 下了,src 目录不复存在。

import "github.com/shopspring/decimal"

上面这条语句,就在我们的 go 文件中导入了 decimal 这个依赖,而这个 import 的位置,实际上就是 $GOPATH/pkg/mod/github.com/labstack/echo 。

goland中GOPATH示例

项目GOPATH配置:C:\Users\mayanan\Desktop\pro_go\day01\gopath

go build配置:

go build命令将项目编译成二进制可执行文件

项目目录:

golang中的GOPATH使用和简单项目配置的更多相关文章

  1. golang中net/http包的简单使用

    一.介绍 http包提供了http客户端和服务端的实现 Get,Head,Post和PostForm函数发出http.https的请求 程序在使用完回复后必须关闭回复的主体 #简单的访问网站,由于没有 ...

  2. SpringMVC简单项目配置

    一.首先,SpringMVC框架使用分层开发,分层是为了实现“高内聚,低耦合”.采用“分而治之”的思想,把问题划分开来各个解决,易于控制,延展和分配资源,最重要的是有利于后期项目维护.MVC是指Mod ...

  3. IT项目中使用 json格式数据 保存项目配置信息, 在配置文件再读取json文件的内容进行赋值

    json格式小巧玲珑,适合做配置文件,特别是大型项目中, 可以将配置信息分类保存到不同的json文件中, 然后再在配置文件中读取配置文件的数据进行赋值, 这里以python为例进行说明: 假设在you ...

  4. golang中GOPATH的简单理解

    1.为什么要配置GOPATH 配置GOPATH的用意是为了方便项目的部署和构建,以及可以直接使用go get 命令下载第三方的包到自己的项目的src下和相关的执行文件bin目录,和中间文件pkg sr ...

  5. golang多个项目时如何配置GOPATH,使用gb包依赖管理工具,不同项目配置不同的GOPATH的

    golang多个项目时如何配置GOPATH,使用gb包依赖管理工具,不同项目配置不同的GOPATH的 1:执行脚本setGoPath.sh#!/bin/bashif [[ $GOPATH =~ .*$ ...

  6. asp.net mvc 简单项目框架的搭建(二)—— Spring.Net在Mvc中的简单应用

    摘要:上篇写了如何搭建一个简单项目框架的上部分,讲了关于Dal和Bll之间解耦的相关知识,这篇来把后i面的部分说一说. 上篇讲到DbSession,现在接着往下讲. 首先,还是把一些类似的操作完善一下 ...

  7. Golang 中的 面向对象: 方法, 类, 方法继承, 接口, 多态的简单描述与实现

    前言: Golang 相似与C语言, 基础语法与C基本一致,除了广受争议的 左花括号 必须与代码同行的问题, 别的基本差不多; 学会了C, 基本上万变不离其宗, 现在的高级语言身上都能看到C的影子; ...

  8. golang中的race检测

    golang中的race检测 由于golang中的go是非常方便的,加上函数又非常容易隐藏go. 所以很多时候,当我们写出一个程序的时候,我们并不知道这个程序在并发情况下会不会出现什么问题. 所以在本 ...

  9. Golang 中使用多维 map

    http://tnt.wicast.tk/2015/11/02/golang-multiple-dimension-map/ Golang 的 XML/JSON 解析库乍看使用起来很方便,只要构造一样 ...

随机推荐

  1. JAVA把InputStream 转 字节数组(byte[])

    import org.apache.commons.io.IOUtils; byte[] bytes = IOUtils.toByteArray(inputStream); 如果没有这个包 就加下依赖 ...

  2. IDEA报错 Unable to open debugger port (127.0.0.1:63342): java.net.BindException "Address already in use

    Unable to open debugger port (127.0.0.1:63342): java.net.BindException  "Address already in use ...

  3. nim_duilib(12)之menu(2)

    introduction 更多控件用法,请参考 here 和 源码. 本文将介绍menu的选项注册回调 before starting 本文的代码基于上一篇 stage1 回到项目demo_xml, ...

  4. 【LeetCode】52. N-Queens II 解题报告(Python & C+)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 全排列函数 回溯法 日期 题目地址:https:// ...

  5. E. Congruence Equation

    E. Congruence Equation 思路: 中国剩余定理 \(a^n(modp) = a^{nmod(p-1)}(modp)\),那么枚举在\([0,n-2]\)枚举指数 求\(a^i\)关 ...

  6. 1030 - Discovering Gold

    1030 - Discovering Gold    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 M ...

  7. 1127 - Funny Knapsack

    1127 - Funny Knapsack    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB ...

  8. Docker 与 K8S学习笔记(四)—— Dockerfile的编写

    在上一篇中我们简单介绍了Docker镜像的获取与使用,其中在镜像制作中提到在实际使用中一定要用Dockerfile方式去创建镜像而不要用docker commit方式,那么我们该如何编写Dockerf ...

  9. Codeforces 777D:Cloud of Hashtags(暴力,水题)

    Vasya is an administrator of a public page of organization "Mouse and keyboard" and his ev ...

  10. 基于Spring MVC + Spring + MyBatis的【野生动物保护系统】

    资源下载:https://download.csdn.net/download/weixin_44893902/45603787 练习点设计: 模糊查询.删除.新增.修改 一.语言和环境 实现语言:J ...