如何在同一包中引用结构

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


app.go并且都位于同一目录中。main.go


app.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.goApp{}App


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


月关宝盒
浏览 90回答 1
1回答

精慕HU

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

相关分类

Go