zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    234树(2)实现
    矩阵的坐标变换(转)
    OpenGL 学习笔记(3)绘制几何物体
    OpenGL 学习笔记(1)初始化窗体
    OpenGL学习笔记(5)3D基本概念
    矩阵的三维变换(转)
    OpenGL 学习笔记(2)创建第一个图形
    234树(1)概念
    OpenGL 学习笔记(4)顶点数组
    OpenGL学习笔记(6)第一个动画
  • 原文地址:https://www.cnblogs.com/fengff/p/11453992.html
Copyright © 2011-2022 走看看