如何引用同一个包中的结构

我正在尝试使用两个文件构建一个 Web 应用程序。


app.go并且main.go都在同一个目录中。


应用程序.go


package main


import (

    "database/sql"


    _ "github.com/go-sql-driver/mysql"

    "github.com/gorilla/mux"

)


type App struct {

    Router *mux.Router

    DB *sql.DB

}


func (a *App) Initialize(username, password, server, port, dbName, cacheAddr, cachePass string){

}



func (a *App) Run(addr string) {

}

main.go


package main


func main() {

    a := App{}

    // more code here

}

我以为我的main.go文件会识别App{},但我的编辑抱怨这App是未声明的名称


这两个文件都在同一个主包中,但我不确定出了什么问题。有人可以帮我吗?谢谢!


HUWWW
浏览 152回答 1
1回答

牧羊人nacy

从评论中我假设您运行以下命令go run main.go:这只会加载代码main.go(以及import语句中包含的文件)。要告诉 Go 加载.go当前目录中的所有文件,请运行以下命令:go run .同样,要告诉 VSCode 加载所有文件,请像这样启动它:code .
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go