首页 > 其他分享 >go workspace 试用

go workspace 试用

时间:2022-11-10 22:57:33浏览次数:69  
标签:cli userlogin golang 试用 workspace go main

golang workspace 提供了类似单体仓库管理模块的能力,类似npm 的yarn workspace 或者lerna ,当然npm 也提供了类似的能力,maven,gradle 都可以提供类似的
能力

参考使用

  • 项目结构
 
├── cli
│   ├── go.mod
│   └── main.go
├── go.work
└── userlogin
    ├── appconfg.go
    └── go.mod
  • 简单说明
    cli 模块使用了userlogin 模块
    go.work 定义了workspace
    内容如下
 
go 1.19
use (
  ./cli
  ./userlogin

appconfg.go

package userlogin
 
type UserLoginConf struct {
  Name    string
  Age     int
  Version string
}

main.go

package main
 
import (
  "fmt"
 
  "github.com/rongfengliang/userlogin"
)
 
func main() {
  conf := userlogin.UserLoginConf{
    Name: "dalong",
    Age:  333,
  }
  fmt.Printf("%v", conf)
 
}
  • 运行
go run cli/main.go
  • 效果

 

 

使用场景

进行版本测试,单体仓库管理(项目模块比较多的场景), 还有一种场景就是我们希望修复别人的模块(可以先clone,然后使用workspace 模式使用,进行测试修改)
kustomize 就使用worksapce,是一个比较有用的新特性,注意需要golang 1.18+ 版本

参考资料

参考资料

https://go.dev/doc/tutorial/workspaces
https://github.com/golang/tools/blob/master/gopls/doc/workspace.md
https://github.com/rongfengliang/golang-workspace-learning

标签:cli,userlogin,golang,试用,workspace,go,main
From: https://www.cnblogs.com/rongfengliang/p/16879084.html

相关文章

  • 使用mod管理go依赖包和gin框架简单应用
     背景:gomod其实就是一个Modules,关于Modules的官方定义为:Modules是相关Go包的集合,是源代码交换和版本控制的单元。简单的说就是一个类似索引文件,里面包含依......
  • golang操作文件或者目录
    使用golang操作文件和目录Go&Rust......
  • AtCoder Regular Contest 149 D Simultaneous Sugoroku
    很妙的一个题。没法用数据结构直接维护点的移动。可以挖掘一些性质。发现对于两个点\(x\)和\(-x\),它们的移动关于原点对称。可以根据对称性维护森林。维护当前的区间......
  • Python操作MongoDB
    一安装pymongopipinstallpymongo==3.4导入MongoClientfrompymongoimportMongoClient 二连接MongoDB数据库MongoDB端口号:27017连接MongoDB我们需要使用P......
  • 电影推荐系统项目实战:环境配置与搭建:Linux环境下 MongoDB的配置与安装 ----- centos7
    1.在主机中下载好Linux版本的MongoDB压缩包:连接如下:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz 2.打开VM,启动虚拟机(这里是hadoop102)......
  • MongoDB集群之复制集,分片
    目录1集群1.1简介1.2复制集1.2.1简介1.2.2复制集设置1.2.2.1创建目录并启动1.2.2.2配置及初始化1.2.2.3操作节点1.2.2.4不正常关闭服务1.3分片1.3.1简介1.3.2......
  • golang echo group 用法的微妙注意点
    用不好的话,可能会引发很诡异的问题。packagemainimport( "net/http" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "github.com/si......
  • 小技巧 之 Google Chrome 快速截取网页长屏
    LZ-Says:有时候,突然就想对一个人蔫坏,蔫坏,讲不清。前言Mac的酸爽,也只有体会的人知晓。配个超大屏,简直要上天~俗话说,Mac命令666,大神嗖嗖嗖,小白俩眼懵。一点一滴,慢慢补起来......
  • Go_day04
    Go基础语法指针指针式存储另一个变量内存地址的变量&a取出a的内存地址*b若指针b存放的式a的地址那么*b就直接指向a的内存可以直接操作其中的值指针的使用func......
  • django跨站请求伪造csrf
    一、简介跨站点脚本(XSS)漏洞是指攻击者可以将脚本注入到你的服务器发送的页面中。浏览器将这些注入的脚本视为页面中的任何其他脚本。例如,如果http://www.yoursite.co......