Golang引用第三方库遇到的问题

MODULE的三种状态

mod有三种状态,使用如下命令在终端中更改。

go env -w GO111MODULE=状态
  • GO111MODULE=off
    go命令行将不会支持module功能,会沿用旧版本那种通过vendor目录或者GOPATH模式寻找依赖包。

即:把依赖包存放在GOPATH/src路径下,通过获取

  • GO111MODULE=on
    go命令行有且仅会使用modules,而不会去GOPATH目录下查找。

即:把依赖包存放在GOPATH/pkg/mod路径下。

  • GO111MODULE=auto
    mod的默认状态,go命令行将会根据当前目录来决定是否启用module功能。以下两种情形下会使用module功能:

1、当前目录在GOPATH/src之外且该目录包含go.mod文件
2、当前文件在包含go.mod文件的目录下面
注:不使用module功能时,文件夹中不应该出现go.mod文件!!!否则会报错。


不使用module引入第三方库:

举个例子:
在GO111MODULE不是on状态的前提下,在PATH/src下建了gosum.go文件:

package main

import (
	"fmt"
	"gonum.org/v1/gonum/stat"

你可能感兴趣的:(golang,开发语言,github)