用Golang查询Postgres

时间:2018-07-02 18:58:53

标签: postgresql go

当我使用go查询它时,我从Postgres收到的输出使我有些困惑。 因为我对此很陌生,所以我甚至很难为我遇到的这个问题提出正确的问题,所以我只在这里留下一个代码块,并附上我正在接收的输出以及预期会发生的事情。我希望这会使它更容易理解。

与postgres db的连接似乎正常工作

        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的新手,而我不知道在这里要处理什么。

我希望我的整个表格以某种可读的格式返回。

1 个答案:

答案 0 :(得分:2)

  

我希望我的整个表格以某种可读的格式返回。

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

Query返回一个可用于遍历与查询匹配的行的结构。

使文档中的示例适合您的情况,并假设您的title字段为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)
}