首页 > 解决方案 > 使用 Golang 查询 Postgres

问题描述

在使用 go 查询时,我对从 Postgres 收到的输出感到有些困惑。由于我对此很陌生,我什至很难为我遇到的这个问题提出正确的问题,所以我将在这里留下一个代码块,其中包含我收到的输出以及我期望发生的情况。我希望这使它更容易理解。

与 postgres 数据库的连接似乎工作正常

        rows, err := db.Query("SELECT title FROM blogs;")                                                                                                                                                      
        fmt.Println("output", rows) 

但是,这是我收到的输出。

output &{0xc4200ea180 0x4c0e20 0xc42009a3c0 0x4b4f90 <nil> {{0 0} 0 0 0 0} false <nil> []}

正如我所说,我是 postgres 的新手,我不知道我在这里处理什么。

我期待我的整个表格以某种可读的格式返回。

标签: postgresqlgo

解决方案


我期待我的整个表格以某种可读的格式返回。

它不会以“可读”格式返回,为什么会这样?

Query返回一个结构,您可以使用它来遍历与查询匹配的行。

根据您的情况调整文档中的示例,并假设您的title字段是 a VARCHAR,这样的事情应该适合您:

rows, err := db.Query("SELECT title FROM blogs;")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
    var title string
    if err := rows.Scan(&title); err != nil {
            log.Fatal(err)
    }
    fmt.Println(title)
}
if err := rows.Err(); err != nil {
    log.Fatal(err)
}

推荐阅读