为什么用户类型没有填充来自 mysql table 的数据值?

Why doesn't the user type get populated with the data values from mysql table?

我正在尝试开始使用 GORM 并做了一个简单的 select SQL 查询,如下所示。调试日志显示返回了两条记录,但当我尝试检查 users 类型时,它只是打印为空。这可能是什么原因? (table 中肯定有数据,如日志中所示,返回 2 条记录)

package main

import (
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "github.com/jinzhu/gorm"
)

type User struct {
    gorm.Model
    username string
    password string
}

func main() {
    db, err := gorm.Open("mysql","root:1234@(localhost)/database_test")
    db.LogMode(true)
    defer db.Close()
    if err != nil {
        panic("failed to connect to the database")
    }

    var users User
    db.Table("user").Find(&users)
    fmt.Println("after finding the user")
    fmt.Println("user ", users.username)
}

字段名称 usernamepassword 以小写字母开头,这使得它们无法导出。无法从其他包访问未导出的标识符(在本例中为 github.com/jinzhu/gorm)。

将它们重命名为 Username,将 Password 重命名为 export