我想创建一个大项目,所以我需要创建某种文件夹结构。我对 Go 很陌生,但是,据我所知,这样做的方法是创建包,对吗?我正在使用 Go 模块,我尝试了在这里和 Google 上找到的许多不同的解决方案,但似乎没有一个对我有用。
我现在想要的只是将 example.go 文件中的导出函数导入 main.go
文件夹结构如下:
client
example
---example.go
go.mod
go.sum
main.go
Run Code Online (Sandbox Code Playgroud)
module exampleapp
go 1.12
require (
github.com/gin-gonic/contrib v0.0.0-20190408155029-b5986969cb50
github.com/gin-gonic/gin v1.4.0
)
Run Code Online (Sandbox Code Playgroud)
package main
import (
"net/http"
"exampleapp/example"
)
Run Code Online (Sandbox Code Playgroud)
package example
import (
"net/http"
"github.com/gin-gonic/gin"
)
func GetAllEmployees(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "pong",
})
}
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,当我尝试在 main.go 中添加包时,VSCode 会自动删除该行,并且在 main 函数中表示未定义 GetAllEmployees。我设法在删除包之前捕获错误包,它说 -
“已导入但未使用:”exampleapp/example”在这里使用“exampleapp/example”模块名称exampleapp我错了吗?我在没有 exampleapp 和“./example/example”的情况下尝试过,但是我收到一个错误,说它找不到路径的模块。
帮助将不胜感激,因为我已经坚持了很长一段时间并且无法弄清楚,我在这里错过了什么。
应该是这样的(main.go):
package main
import (
"exampleapp/example"
)
func main() {
example.GetAllEmployees(...)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2034 次 |
最近记录: |