我正在使用https://github.com/jinzhu/gorm库。由于某些原因,我无法访问我希望存在的某些字段。这些特定字段中有下划线。例如,当我尝试访问SpeName时,它不会失败,但也不会给我一个字符串

type Specialties struct {
    SpeId      int64
    SpeName    string
    Conditions sql.NullString
    ParentId   sql.NullInt64
    Hidden     sql.NullInt64
}


func IsFolderNameASpecialty(folderName string) models.Specialties {
    var sSpecialty models.Specialties
    for _, specialty := range Specialties {
        fmt.Println(strings.ToLower(folderName), specialty.SpeName)
        if strings.ToLower(folderName) == strings.ToLower(specialty.SpeName) {
            sSpecialty = specialty
        }
    }
    return sSpecialty
}

由于某些原因,println为空。 mysql字段实际上是spe_Name而不是SpeName。我使用什么标签允许我正确访问该字段?

最佳答案

根据https://github.com/jinzhu/gorm#existing-schema,您想在struct type标记中使用column:

type Specialties struct {
    // ...
    SpeName    string `gorm:"column:spe_Name"`
    // ...
}

关于mysql - 使用下划线从golang结构访问mysql字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28573167/

10-13 00:54