为了账号安全,请及时绑定邮箱和手机立即绑定

使用其他文件的功能是其他目录Golang

使用其他文件的功能是其他目录Golang

Go
幕布斯6054654 2022-06-27 15:27:57
我想在我的主要方法中使用一个名为“控制器”的文件夹中的方法,但事实证明,当我启动程序时它说找不到或定义该函数,我尝试按照 Golang 中的包指南进行操作文档,但是使用 Go 构建和 Go 安装这不起作用,我只想知道如何使用其他文件夹中的文件来获得更多订单,这里是代码和我的文件树,首先:UserController.go ,这里是 funcionLoadRecordsFromFile()... (重复...我尝试使用 go build 和 go install 从文档但不工作...)package mainimport (    "net/http"    "log")func LoadRecordsFromFile(w http.ResponseWriter, r *http.Request) {    // Maximum upload of 10 MB files    r.ParseMultipartForm(10 << 20)}这是我的 main.Go,如果我想使用来自 UserController.go 的函数 LoadRecordsFromFile()package mainimport (    "net/http"    "github.com/go-chi/chi"    "log")func main() {    r := chi.NewRouter()    r.Post("/loadUsers", func(w http.ResponseWriter, r *http.Request) {        LoadRecordsFromFile(w,r)    })    log.Print("Server started in port 3000")    http.ListenAndServe(":3000", r)}档案是...-GolangProject-Main.go-controllers    --UserController.go
查看完整描述

1 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

您需要对代码进行一些更改。


首先,您需要在UserController.go. 让我们controllers作为包使用。


package controllers


import (

    "net/http"

    "log"

)

func LoadRecordsFromFile(w http.ResponseWriter, r *http.Request) {

    // Maximum upload of 10 MB files

    r.ParseMultipartForm(10 << 20)

}

然后你Main.go需要一些改变。


package main


import (

    "net/http"

    "github.com/go-chi/chi"

    "log"


    "github.com/Giovanni2414/Truora/controllers"

)


func main() {

    r := chi.NewRouter()

    r.Post("/loadUsers", func(w http.ResponseWriter, r *http.Request) {

        controllers.LoadRecordsFromFile(w,r)

    })


    log.Print("Server started in port 3000")

    http.ListenAndServe(":3000", r)

}

我认为这些变化就足够了。


一些注意事项:

  • 只有你的主文件应该有package main.

  • 通常我们在我们之后定义包名current folder但它可以不同)。同一文件夹下的所有文件必须具有相同的package名称。

  • 当您使用不同包下的功能时,您应该先导入所需的包,然后才能使用该功能。
    您导入的路径应该是这样的:<project-module-name>/<folder1>/<folder2>/../<final-folder>.

  • 最后,您应该像下面这样调用该函数:

    package_name.MyFunction()


查看完整回答
反对 回复 2022-06-27
  • 1 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号