为了账号安全,请及时绑定邮箱和手机立即绑定

在 golang 中返回任意数据类型

在 golang 中返回任意数据类型

Go
千巷猫影 2022-01-10 14:32:14
我有一个简单的 golang 例程,用于database/sql打开与我的 Postgres DB 的连接并执行一些操作package mainimport (  "fmt"  "database/sql"  _ "github.com/lib/pq"  "log")const (    DB_USER = "my_user"    DB_NAME = "my_postgres_db")// The return type here is wrong - what should it be?func establish_db_connection() sql.DB {  dbinfo := fmt.Sprintf(    "user=%s password=%s dbname=%s sslmode=disable",     DB_USER, nil, DB_NAME)  db, err := sql.Open("postgres", dbinfo)  if err != nil { log.Fatal(err) }  return db}func main() {  // Get a connection to the DB  db := establish_db_connection()  // Do other stuff  // ...  // ...}我在为establish_db_connection函数编写签名时遇到问题-func establish_db_connection() sql.DB {该文件表明,它返回一个sql.DB实例。那么这不应该是返回类型吗?我是 golang 的超级新手,所以只是第一次弄清楚其中的大部分内容。
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

Open返回 a *sql.DB,一个指向 sql.Db 的指针。更改函数签名以也返回一个*sql.DB

func establish_db_connection() *sql.DB {


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 554 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信