go dep的使用和路径问题

       先看程序a.go:

package main

import (
    "fmt"
    "github.com/apodemakeles/ugo/time"
)

func main() {
    fmt.Println(utime.NowUnixTS())
}

        编译出错, 因为没对应的包。

        GOPATH路径是:/xxx/taoge,   而a.go的路径是/xxx/taoge/src/learn,  怎么搞呢? 下载go的dep包, 然后在learn目录下执行dep init, 看看结果:

/xxx/taoge/src/learn$ dep init
  Using ^0.3.0 as constraint for direct dep github.com/apodemakeles/ugo
  Locking in v0.3.0 (29d7613) for direct dep github.com/apodemakeles/ugo
/xxx/taoge/src/learn$ 
/xxx/taoge/src/learn$ 
/xxx/taoge/src/learn$ 
/xxx/taoge/src/learn$ ls
Gopkg.lock      Gopkg.toml      a.go            vendor
/xxx/taoge/src/learn$ 
/xxx/taoge/src/learn$ 
/xxx/taoge/src/learn$ 
/xxx/taoge/src/learn$ go run a.go 
1539865889
/xxx/taoge/src/learn$ 

       vendor下面便有所需要的包。

       至于dep相关命令, 查一下就知道了。

 

       还要说明一下, vendor路径的优先级比GOPATH还高。但是,如果在/xxx/taoge/src下面放置a.go, 那就找不到/xxx/taoge/src/learn目录下的vendor目录了, 而如果在/xxx/taoge/src/learn/yyy下放置a.go, 依然可以找到vendor, 为什么呢?因为找vendor目录的原则是:先找当前目录下的vendor目录, 找不到的话, 再找上一路径下的vendor目录, 以此类推。

       不多说。

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值