面试题答案
一键面试package main
import (
"fmt"
// 假设这里有数据库相关的包引入
)
func connectDB() (db *Database, err error) {
// 这里是连接数据库的逻辑,省略实际实现
return nil, nil
}
func queryDB() error {
db, err := connectDB()
if err != nil {
return err
}
defer func() {
if err := db.Close(); err != nil {
fmt.Printf("Error closing database: %v\n", err)
}
}()
// 这里执行数据库查询操作
// 如果查询过程中有错误,直接返回错误,defer会在函数结束时关闭连接
return nil
}