• 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
  • 相关阅读:
    转载别人(ZZ)创建要素集
    CAD转化为Shp
    VBS学习
    3度带/6度带
    头文件学习,GEOTIFF
    arcmap vba 生成3维侧棱 以及 createfeature与createfeaturebuffer的区别
    另类
    幸福人生讲座(七):怎样引导孩子立志
    幸福人生讲座(四):孝道与仁爱是根本
    幸福人生讲座(二):人生怎样才能幸福?
  • 原文地址:https://www.cnblogs.com/fengff/p/11453992.html
Copyright © 2020-2023  润新知