【发布时间】:2021-02-13 19:27:26
【问题描述】:
首先我知道这是不好的做法,无论如何我都可以在客户端进行拆分,但我想知道如何在后端实现它。
我有这个结构
type Article struct{
ArticleId int `gorm:"column:article_id;primaryKey" json:"article_id"`
Title string `gorm:"column:title" json:"title"`
Content string `gorm:"column:content" json:"content"`
Tags string `gorm:"column:tags" json:"tags"`
}
对于标签,我使用逗号分隔值,例如tech,woman,mit
我可以实现一个简单的函数来手动拆分字符串
func splitTags(values string) []string {
array := strings.Split(values, ",")
return array
}
但是如何在我的结构中将它实现为自定义类型,以便它自动拆分标签,并且最好在我设置标签值时加入 []string 值?
附:上面的结构只是一个例子。
【问题讨论】:
-
实现driver.Valuer接口写入数据库,sql.Scanner接口读取数据库。