go - 如何创建本地 VGO 应用程序模块
问题描述
vgo
到目前为止,我看到的每个示例都需要您编写模块,上传它,然后创建一个新的应用程序模块来测试一个基本模块。
有没有办法通过跳过 repo 步骤来测试模块,只需向模块添加一个包 main 只是为了向控制台吐出一些东西?
我尝试创建我的虚拟模块module "example.com/m"
,向其中添加一个虚拟子包package example
,/example/testing.go
然后添加一个简单的 main.go 并尝试从我的虚拟模块导入示例包但无济于事。
如果我没有互联网,我会迷失在 vgo 工作流程中(没有它我会迷失)
解决方案
我想到了。基本上 vgo 允许您包含package main
在根目录中,但是这样做您只能在 vgo 项目的根目录中使用“主”包,因为 golang 只允许每个文件夹使用一个包名称。这很好,因为您可以稍后根据需要删除主文件。
回答
package main
在 vgo 项目的根目录中创建一个文件fn main
在您的 vgo 项目中创建任意数量的子包,例如:
package example
在example
子文件夹中。为了好玩,创建一个打印出“Hello World”并将其命名为“WorldGreeting”的导出函数- 现在在您的主文件中,您可以通过调用模块名称后跟子包名称来导入此包。因此,例如,如果您的模块名称是,
bitbucket.com/User/MyVGOPackage
那么您将在主文件中导入子包,import "bitbucket.com/User/MyVGOPackage/example"
然后在 main 中调用您的函数example.WorldGreeting()
- Build using
go build
构建完整目录(如果目录中有更多主包),vgo 将输出一个名为“MyVGOPackage.exe”的 exe
提示:如果您只想创建一个没有奇怪模块名称的应用程序,只需将您的模块重命名为“MyApplication”之类的简单名称,vgo 将完美地理解您的导入。然后返回并将“bitbucket.com/User/MyVGOPackage/example”替换为“MyApplication/example”,一切都会正常构建。Jetbrain 的 GoLand IDE 完全理解这种用法,因此如果 vs 代码在自动完成时遇到问题,请试一试。
推荐阅读
- python - Flask Sqlalchemy 比较两个相关表的两个日期
- excel - 列表框未显示使用 Listbox.List 方法填充其中的值
- php - 如何使用准备好的 stmt pdo 提供分页参数?
- c# - 无法加载文件或程序集“Microsoft.CodeDom.Providers.DotNetCompilerPlatform 或其依赖项之一。访问被拒绝
- php - MySQL - 如何连接加载数据语句?
- while-loop - 从具有边界的最近点创建线网络
- xamarin.forms - XAMARIN FORM:如何将消息发送到特定数量的 watsapp
- ios - Swift-4:如何使用带有“Content-Type”的 URLSession 中的参数的 POST 请求获取数据:“application/x-www-form-urlencoded”
- php - 如何访问docker nginx上的其他目录
- laravel - Laravel Nova - BelongsToMany 关系的选择下拉列表中缺少标签