• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

在vscode之中使用GOMOD

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

第一步在终端中使用go mod

export GO111MODULE=auto

mkdir -p /xxx/script/Batchdeployment/api

mkdir -p /xxx/script/Batchdeployment/package

# gopath 不要和项目目录有父子关系
echo $GOPATH
/xxx/script/Batchdeployment/package

cd /xxx/script/Batchdeployment/api

go mod init api

# script目录是vscode 工作空间的目录之一
# Batchdeployment 是项目目录

最终项目结构如下

GO111MODULE 有三个值:off, on和auto(默认值)

GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。

GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。

GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:

  • 当前目录在GOPATH/src之外且该目录包含go.mod文件
  • 当前文件在包含go.mod文件的目录下面

  • main.go 之中的代码如下
    package main

    import (
        "fmt"
        add "api/add"
        "github.com/labstack/echo"
    )

    func main()  {
        res := add.AddData()
        e := echo.New()
        fmt.Println(e)
        fmt.Println(res)
    }
  • sum.go中的代码如下
    package add

    // addData 计算两数只和
    func AddData() int {
        return 3 + 4
    }

在api目录下面执行 go run main.go, go mod 会自动安装依赖到 $GOPATH 的 pkg目录下面

第二步在VS Code 中使用 go mod

在vscode 的script 目录下面新建 .vscode 目录,里面包含setting.json 和 launch.json,内容如下

setting.json

{
    "code-runner.executorMap": {
        "go": "go run",
        "go.gopath": "/xxx/script/Batchdeployment/package",
        "go.toolsGopath": "/xxx/script/Batchdeployment/package"
    },
    "code-runner.cwd": "/xxx/script/Batchdeployment/api",
    "go.toolsGopath": "/xxx/script/Batchdeployment/package",
    "go.inferGopath": false,
    "go.gopath": "/xxx/script/Batchdeployment/package"
}

launch.json
{
    "code-runner.executorMap": {
        "go": "go run",
        "go.gopath": "/xxx/script/Batchdeployment/package",
        "go.toolsGopath": "/xxx/script/Batchdeployment/package"
    },
    "code-runner.cwd": "/xxx/script/Batchdeployment/api",
    "go.toolsGopath": "/xxx/script/Batchdeployment/package",
    "go.inferGopath": false,
    "go.gopath": "/xxx/script/Batchdeployment/package"
}

code-runner.cwd : 是code-runner插件的配置,设置当前的项目目录 只和可以直接右键运行项目

go.toolsGopath: GOPATH for installing the Go tools using go.toolsGopath,简单说就是安装调试工具的目录,如果没有或者不存在默认安装 GOPATH,不过会造成 GOPATH 的目录杂乱

go.inferGopath: 如果会true,它会在当面目录向上级目录搜索src,并将src的上级目录设置为 GOPATH,反之亦然。此设置在处理具有不同gopath的不同Go项目时非常有用。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go语言学习笔记发布时间:2022-07-10
下一篇:
GoRevel-Filters(过滤器链)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap