go语言每个工程是不是都要单独设置GOPATH?
比如我的go项目都统一管理在d:/workspace/go_work/目录下面,该目录下有3个项目project_01,project_02,project_03

d:/workspace/go_work/project_01
d:/workspace/go_work/project_02
d:/workspace/go_work/project_03

问题:
1、我的GOPATH是不是要设置3个,用分号隔开?像下面这样:

d:/workspace/go_work/project_01;d:/workspace/go_work/project_02;d:/workspace/go_work/project_03

2、有100个项目是不是就要在GOPATH中添加100个?

========anwser=========

GOPATH下有bin pkg src三个目录
1.你的project_01可以放在src的目录下,这样就不需要每次设置了
2.你的project_01放在任意位置,只要不在GOPATH下,使用go mod,前提是你的go版本是1.11

---------

不是,一个系统上(一个用户)只有一个gopath。

gopath/src/ 项目应该放在这里。
gopath/pkg/由go管理,存一些中间编译结果。
gopath/bin/ 用于存放软件程序,go install会将项目编译后复制到此处,然后便可以命令行直接调用。

未来go版本随着gomodule的使用,gopath即将废弃,项目不再依赖于gopath。

 
-----------
 

1个GOPATH就可以了,然后许多项目都在里面,比如我的是这样:


➜ go echo $GOPATH
/Users/xxxx/go ➜ go tree -L 2 $GOPATH
.
├── bin
│   ├── bee
│   ├── beeHello
│   ├── cobra
│   ├── dlv
│   ├── fillstruct
│   ├── geth
│   ├── geth-tps
│   ├── glide
│   ├── go-outline
│   ├── go-symbols
│   ├── gocode
│   ├── goconvey
│   ├── godef
│   ├── godoc
│   ├── golint
│   ├── gomodifytags
│   ├── gopkgs
│   ├── goplay
│   ├── gorename
│   ├── goreturns
│   ├── gotests
│   ├── govendor
│   ├── guru
│   ├── hi
│   ├── impl
│   ├── puppeth
│   └── rlpdump
├── pkg
│   └── darwin_amd64
└── src
├── awesomeProject
├── beeHello
├── github.com
├── golang.org
├── gopkg.in
├── govendor
└── sourcegraph.com

go语言每个工程是不是都要单独设置GOPATH?的更多相关文章

  1. nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模块的Javascript

    Javascrip本身不带IO功能,nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模 ...

  2. 如何为基于windows验证的站点的某个页面、文件或文件夹单独设置匿名访问

    在MOSS的项目中,我们经常碰到要单独为基于windows验证的站点的某个页面.文件或文件夹单独设置匿名访问即不登录就可以直接访问.比如说站点的A的某些图片或文件URL存在B站点下的文件夹下.此时访问 ...

  3. 为你的Visual Studio单独设置代理服务器

    http://blog.sina.com.cn/s/blog_58c506600101tycn.html 最近,因为国内访问Visual Studio Online(微软的免费代码托管服务,以前叫Te ...

  4. 为github公开项目单独设置用户名

    背景: 由于在公司git的配置是公司内自己的用户id及邮箱,如果用同样的配置在github上提交公开项目,可能造成用户名及邮箱泄露,因此对于github上的项目,最好单独设置用户名,而每次在向gith ...

  5. 为每一个应用程序池单独设置aspnet.config配置文件

    ASP.NET2.0之后的版本号就在各Framework的根文件夹下提供了一个aspnet.config文件.这个文件用来配置全局的一些信息,可是一直以来我们都没有怎么用过. ASP.NET4.0之后 ...

  6. viewport 640宽的做法 针对iphone和安卓单独设置

    <!DOCTYPE html> <html lang="ch"> <head> <meta charset="utf-8&quo ...

  7. KingbaseESV8R6如何针对表单独设置vacuum策略

    背景 书接上文 KingbaseES应对表年龄增长过快导致事务回卷 ,有些特殊业务场景不能靠全局的autovacuum方法,例如大型数据库系统,频繁做update的系统,还有上文提到的做实时数据同步的 ...

  8. 解决每次从cmd进入sqlplus,都得重新设置pagesize、linesize的问题

    https://blog.csdn.net/u012127798/article/details/34146143/ Oracle里的set零零碎碎的,这里整理归纳一下 SQL> set tim ...

  9. 如何为SharePoint文档库、文件夹、文件单独设置权限

    在这里使用截图的方式简单描述两个问题:设置SharePoint Server文档库权限和文档库中的文件夹权限 一.设置SharePoint Server文档库权限 Figure 1 - 打开文档库后, ...

随机推荐

  1. Java通过poi读取excel中文件

    maven依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</a ...

  2. 【C/C++开发】C++11 并发指南二(std::thread 详解)

    上一篇博客<C++11 并发指南一(C++11 多线程初探)>中只是提到了 std::thread 的基本用法,并给出了一个最简单的例子,本文将稍微详细地介绍 std::thread 的用 ...

  3. Python【每日一问】27

    问: [基础题1]:将一个正整数分解质因数.例如:输入 90, 打印出 90=2*3*3*5 . [基础题2]:一个数如果恰好等于它的因子之和,这个数就称为“完数” .例如6=1+2+3.请找出 10 ...

  4. 什么是 ZFS文件系统?ZFS概念及特点简介

    什么是 ZFS? ZFS(Zettabyte File System)是由SUN公司的Jeff Bonwick领导设计的一种基于Solaris的文件系统,最初发布于20014年9月14日. SUN被O ...

  5. C# 实现Escape UnEscape方法(支持中文-转载)

    //Escape方法 public static string Escape(string s) { StringBuilder sb = new StringBuilder(); byte[] by ...

  6. ASp.net Core EF ActionFilterAttribute AOP

    在项目中经常遇到一些数据的修改,很多时候业务方需要一个修改日志记录,这里我们计划用mssql数据库来存放日志记录,用EF来操作,记录日志可以用mvc的ActionFilterAttribute 来完成 ...

  7. Docker 制作定制asp.netcore 的容器

    上文Windows docker k8s asp.net core的k8swebap镜像只是一个asp.net core程序,在实际生产中我们希望容器中还有一些其他程序,比如ssh 和telegraf ...

  8. 信安周报-第03周:DB系统表

    信安之路 第03周 前言 这周自主研究的任务如下: 任务附录的解释: 文件读写在通过数据库注入漏洞获取webshell的时候很有用 系统库和表存放了很多关键信息,在利用注入漏洞获取更多信息和权限的过程 ...

  9. 《即时消息技术剖析与实战》学习笔记1——IM系统的架构

    一.IM的应用场景 聊天.直播.在线客服.物联网等所有需要实时互动.高实时性的场景,都需要应用到 IM 技术.

  10. mybatis映射mapper文件做like模糊查询

    方法:使用concat函数连接通配符