首页 > 解决方案 > 如何创建本地 VGO 应用程序模块

问题描述

vgo到目前为止,我看到的每个示例都需要您编写模块,上传它,然后创建一个新的应用程序模块来测试一个基本模块。

有没有办法通过跳过 repo 步骤来测试模块,只需向模块添加一个包 main 只是为了向控制台吐出一些东西?

我尝试创建我的虚拟模块module "example.com/m",向其中添加一个虚拟子包package example/example/testing.go然后添加一个简单的 main.go 并尝试从我的虚拟模块导入示例包但无济于事。

如果我没有互联网,我会迷失在 vgo 工作流程中(没有它我会迷失)

标签: govgo

解决方案


我想到了。基本上 vgo 允许您包含package main在根目录中,但是这样做您只能在 vgo 项目的根目录中使用“主”包,因为 golang 只允许每个文件夹使用一个包名称。这很好,因为您可以稍后根据需要删除主文件。

回答

  • package main在 vgo 项目的根目录中创建一个文件fn main

  • 在您的 vgo 项目中创建任意数量的子包,例如:package exampleexample子文件夹中。为了好玩,创建一个打印出“Hello World”并将其命名为“WorldGreeting”的导出函数

  • 现在在您的主文件中,您可以通过调用模块名称后跟子包名称来导入此包。因此,例如,如果您的模块名称是,bitbucket.com/User/MyVGOPackage那么您将在主文件中导入子包,import "bitbucket.com/User/MyVGOPackage/example"然后在 main 中调用您的函数example.WorldGreeting()
  • Build usinggo build构建完整目录(如果目录中有更多主包),vgo 将输出一个名为“MyVGOPackage.exe”的 exe

提示:如果您只想创建一个没有奇怪模块名称的应用程序,只需将您的模块重命名为“MyApplication”之类的简单名称,vgo 将完美地理解您的导入。然后返回并将“bitbucket.com/User/MyVGOPackage/example”替换为“MyApplication/example”,一切都会正常构建。Jetbrain 的 GoLand IDE 完全理解这种用法​​,因此如果 vs 代码在自动完成时遇到问题,请试一试。


推荐阅读