首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Golang 常用代码片段

Golang 常用代码片段

作者头像
sean.liu
发布于 2022-08-03 06:49:01
发布于 2022-08-03 06:49:01
33800
代码可运行
举报
运行总次数:0
代码可运行

摘要

本文主要记录常用的golang代码片段。

分析

Gorm 自定义Model

可以将自定义类型以Json编码的方式存入数据库文本类型中。使用ORM时,和普通类型没有区别。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// JSONMap
type JSONMap map[string]string

// Scan Scanner
func (t *JSONMap) Scan(value interface{}) error {
    if value == nil {
        return nil
    }

    v, ok := value.(string)
    if !ok {
        return fmt.Errorf("value is not string, value: %v", value)
    }

    // empty
    if len(v) == 0 {
        b = "{}"
    }

    return json.Unmarshal([]byte(v), t)
}

// Value Valuer
func (t JSONMap) Value() (driver.Value, error) {
    if t == nil {
        return nil, nil
    }

    return json.Marshal(t)
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年8月1日23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验