go - 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() 用作值
我该如何解决?
解决方案
你可能想像这样解决这个问题:
// 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
}
推荐阅读
- excel - 停用 Measure 中的日期关系
- php - 有没有办法在一个表字段中插入多个 id?代码点火器
- macos - 无法清理 macOS Catalina 上的空间。“其他”从 500GB 中取出 370GB,其他工具显示了其中的一半
- reactjs - React-Material UI Grid Column 问题
- python - 使用正则表达式清理数据框列值
- python - 如何在 python 中使用 Cypari 包?
- python - 如何在 tkinter 应用程序中打包和使用图标?
- javascript - 更改 contenteditable div HTML 并将光标移动到末尾不起作用
- flutter - 从 http POST 请求 Result Flutter 在 listview builder 上显示数据
- python-3.x - 熊猫数据框意味着功能不起作用