首页 > 解决方案 > Golang 导入结构并共享所有应用程序

问题描述

我想导入包并在 main() func 中创建新结构。

// main.go
import "testapp/app"
a := app.GetApp()
db, err := a.ConnectDatabase()
if err != nil {
    panic(err.Error())
}

// testapp/app.go
func (a *App) ConnectDatabase() {
  db, err := sql.Open()
  if err != nil {
    panic(err.Error())
  }
  a.db = db
}

我有错误:

app.ConnectDatabase() 用作值

我该如何解决?

标签: go

解决方案


在此处输入图像描述

你可能想像这样解决这个问题:

// main.go
import "testapp/app"
func main(){
    a := app.GetApp()
    err := a.ConnectDatabase()
    if err != nil {
        panic(err.Error())
    }
    a.db. //interesting db code here
}

// testapp/app.go
func (a *App) ConnectDatabase() error{
  db, err := sql.Open()
  if err != nil {
    return err
  }
  a.db = db
  return nil
}

推荐阅读