• go语言每个工程是不是都要单独设置GOPATH?


     

    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
  • 相关阅读:
    js获取页面传递过来的值
    pdf生成
    行内元素和块级元素有哪些
    Relative 定位与Absolute 定位实例
    rsync全网备份
    nginx1.15.8源码安装
    网页内容抓取工具、利用多线程
    正则表达式获取HTML标记中的内容。(注:如果内容中含有回车符,请查看第三个例子)
    SQL用一个表的数据更新另一个表的数据
    将Winform编译成DLL供C/S程序引用(Winform引用Winform)
  • 原文地址:https://www.cnblogs.com/fengff/p/11453992.html
Copyright © 2020-2023  润新知