当前位置: 首页 > news >正文

【go】字符串切片与字符串出入数据库转化

文章目录

    • 需求
    • 代码
      • 入库
      • 出库

需求

  1. 将请求数据存入数据库
  2. 与从数据库读取数据返回
  3. 在出库不使用反序列化情况下

请求结构体

type NoticegroupsCreateReq struct {Name      string   `json:"name" binding:"required"`UserIds   []string `json:"user_ids"  binding:"required"`
}

数据库类型

类型
namevarchar
user_idslongtext

返回结构体

type NoticegroupsCreateReq struct {Name      string   `json:"name" binding:"required"`UserIds   []string `json:"user_ids"  binding:"required"`
}

代码

入库

// []string -> string   []userIds -> ids// 此时输出一下将要入口的数据,待转化数据
fmt.Println(req.UserIds)
// [31 62 32 44 33]userIds, err := json.Marshal(req.UserIds)
ids := string(userIds)fmt.Println(string(userIds))
// ["31","62","32","44","33"]

出库

// string -> []string  noticegroup.UserIds -> []userId// 此时输出一下从数据库直接读到的数据,待转化数据
fmt.Println("s:",noticegroup.UserIds)
// s ="[\"31\"", "\"62\"","\"32\"","\"44\"","\"33\"]"// 去掉字符串两边的方括号
noticegroup.UserIds = strings.Trim(noticegroup.UserIds, "[]")
// 按逗号拆分字符串
userId := strings.Split(noticegroup.UserIds, ",")
// 去掉每个字符串两边的引号和空格
for i := 0; i < len(userId); i++ {userId[i] = strings.Trim(userId[i], "\" ")
}fmt.Println(userId)
// [31 62 32 44 33]

历程

请求转化存储返回
[31 62][“31”,“62”]"[“31"”, ““62"”]”[31 62]
http://www.lryc.cn/news/175613.html

相关文章:

  • Redis中是如何实现分布式锁的?
  • 似然和概率
  • php代码审计篇熊海cms代码审计
  • Android Camera2获取摄像头的视场角(FOV)信息
  • 服务接口调用OpenFeign_日志增强
  • ADC数模转化器
  • Linux DataEase数据可视化分析工具结合cpolar实现远程访问
  • 使用JAXB将xml转成Java对象
  • 第6讲:v-for使用
  • ubuntu http 服务器响应
  • C语言 结构体位域
  • ChatGPT AIGC 非常实用的AI工具集合大全
  • Visual Studio Cpp CLR C# 替换
  • typeorm利用mongodb,save的时候更新会出现重复数据的问题。
  • 决策树案例分析
  • Linux基本操作符(1)
  • pg数据表同步到hive表数据压缩总结
  • 2023-Chrome插件推荐
  • VUE使用DXFParser组件解析dxf文件生成图片
  • SpringBoot 集成 AKKA
  • 什么是Service Worker?它在PWA中的作用是什么?
  • 【算法深入浅出】字符串匹配之 KMP 算法
  • 放弃webstrom转战vscode
  • VSCode 和 CLion
  • Learn Prompt- Midjourney Prompt:Prompt 提示语
  • uvm白皮书练习_ch2_ch223_加入objection机制
  • 利用C++开发一个迷你的英文单词录入和测试小程序-增强功能
  • kibana启动报错
  • 排查内存泄露
  • 【LeetCode-简单题】501. 二叉搜索树中的众数