go语言``反引号用法归纳——多行输出和Tag标签(指定json名称、MySQL名称))

一、多行输出

示例


func main() {str1 := `反引号多行字符串`str2 := "双引号" +"        多行" +"     字符串"//str3 := '单引号" +//"        多行" +//"     字符串'str4 := "双引号\n" +"        多行\n" +"     字符串\n"fmt.Println("str1", str1)fmt.Println("str2", str2)fmt.Println("str4", str4)//fmt.Println(str3)
}

单引号会直接报错。

在这里插入图片描述

输出结果

反引号时候正确输出了预期结果。
双引号如果仅通过+连接,不会有什么变化,输出的依旧是单行。
双引号内部可以通过\n控制换行。

在这里插入图片描述

二、Tag标签

总述

常用的有以下几种:json,xml,gorm,validator,protobuf,bson,mapstructure

encoding/json: 这是 Go 语言的标准库,它使用标签来控制如何将结构体编码为 JSON 或从 JSON 解码到结构体。

encoding/xml: 同样是 Go 语言的标准库,它使用标签来控制如何将结构体编码为 XML 或从 XML 解码到结构体。

gorm: 这是一个流行的 Go 语言 ORM 库,它使用标签来定义数据库表和结构体之间的映射关系。

validator: 这是一个用于数据验证的库,它使用标签来定义验证规则。

protobuf: 这是 Google 的 Protocol Buffers 的 Go 语言实现,它使用标签来定义 Protobuf 消息和结构体之间的映射关系。

bson: 这是 MongoDB 官方的 Go 驱动使用的,它使用标签来控制如何将结构体编码为 BSON 或从 BSON 解码到结构体。

mapstructure: 这是一个用于将通用的 map 转换为结构体的库,它使用标签来定义 map 的键和结构体字段之间的映射关系。

本段引用自 https://learnku.com/articles/78000#5ed13e

validator

参考此文:

https://liuqh.icu/2021/05/30/go/gin/11-validate/

Gorm

参考官方文档:

https://gorm.io/zh_CN/docs/models.html

Json

常用的有:字段命名、omitempty 选项、“-”选项。

字段命名: 标签可以指定该字段在 json 中的键名。例如,虽然结构体中的字段名是 Name(首字母大写),但在 json 中,对应的键名却是 name(全部小写)。

omitempty 选项: 这个选项可以控制如果字段的值为空(零值),那么在编码为 json 时,这个字段是否会被忽略。例如,Age 字段的标签是 json:“age,omitempty”,这表示如果 Age 的值是 0(int 类型的零值),那么在编码为 json 时,“age” 键将不会出现。

“-“选项: 如果你不想让某个字段在 json 中出现,你可以使用 - 选项。例如,如果你将 Email 字段的标签改为 json:“-”,那么无论 Email 的值是什么,在编码为 json 时,“email” 键都不会出现。

参考此文:

https://fivezh.github.io/2022/02/01/golang-json-tag/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316688.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringBoot3】命令行运行jar包报错可能的一些原因

端口号冲突: 有其他的web程序在运行,占用了8080端口没有主清单属性: 在打包jar包前,没有加入打包的插件spring-boot-maven-plugin,参考1.SpringBoot入门的第一个完整小项目(新手保姆版教会打包)…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)在EventLoop中处理被激活的文件描述符的事件

文件描述符处理与回调函数 一、主要概念 反应堆模型:一种处理系统事件或网络事件的模型,当文件描述符被激活时,可以检测到文件描述符:在操作系统中,用于标识打开的文件、套接字等的一种数据类型 处理激活的文件描述符…

太阳能防外破智能地钉_灯光警示_定位-深圳鼎信

智能地钉是一种利用无线传感和无线通信技术来保护地下管道线路,防止地面施工或其它因素导致管道外破的装置。组成结构包括智能分析模块、陀螺仪传感器、无线模块、备用电池、太阳能板、金属防护外壳、北斗定位以及声光报警器等。 智能地钉镶嵌在地面上具有防水、耐腐…

算法——队列+宽搜(BFS)

队列这种数据结构大都服务于一个算法——宽搜(BFS)。宽搜还可以运用到二叉树、图、迷宫最短路径问题、拓扑排序等等 N叉数的层序遍历 N叉树的层序遍历 题目解析 给定一个 N 叉树,返回其节点值的_层序遍历_。(即从左到右&#…

【python】—— 列表和元组详解

Python是一种强大的编程语言,它提供了许多内置的数据结构,用于存储和处理数据。其中,列表和元组是两种常用的数据类型。这篇文章将介绍这两种数据结构的定义、用途、用法以及它们的异同点。 目录 (一)理解列表和元组 …

面试题理解深层次的数组名

目录 引言 一:一维数组 举例如下 1.铺垫知识 数组名是数组首元素的地址,但是有两个特殊情况 (1)sizeof(数组名) (2)&数组名 2.分析讲解上述代码结果 2.字符数组 举例一如下 1.知识铺垫 …

软性演员-评论家算法 SAC

软性演员-评论家算法 SAC 软性演员-评论家算法 SAC优势原理软性选择模型结构目标函数重参数化熵正则化代码实现 软性演员-评论家算法 SAC 优势原理 DDPG 的问题在于,训练不稳定、收敛差、依赖超参数、不适应复杂环境。 软性演员-评论家算法 SAC,更稳定…

23款奔驰GLC260L升级香氛负离子 车载香薰

奔驰原厂香氛系统激活原车自带系统,将香气加藏储物盒中,通过系统调节与出风口相结合,再将香味传达至整个车厢,达到净化车厢空气的效果,让整个车厢更加绿色健康,清新淡雅。星骏汇小许Xjh15863 产品功能&…

23款奔驰GLC260L升级原厂540全景影像 高清环绕的视野

嗨 今天给大家介绍一台奔驰GLC260L升级原厂360全景影像 新款GLC升级原厂360全景影像 也只需要安装前面 左右三个摄像头 后面的那个还是正常用的,不过不一样的是 升级完成之后会有多了个功能 那就是新款透明底盘,星骏汇小许Xjh15863 左右两边只需要更换后…

计算机毕业设计-------基于JSP+Servlet的毕业生离校管理系统

需求分析 使用JSPServletMysql技术设计一个毕业生离校管理系统, 整个系统采用BS架构, 为高校方便进行毕业生离校流程进行统一的离校流程, 极大的减少了大量学生同时离校的过程中杂乱的情况, 整个系统分为学生, 教务处, 辅导员, 图书馆, 宿管, 财务处, 系办公室, 管理员登等角色…

SpringBoot整合mybatis多数据源

废话不多说先上结果 对应数据库 首先导入所需的mybatis、mysql和lombok依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependen…

win11电脑图形卡不支持或已禁用硬件加速怎么解决,N卡GPU看不到cuda进程怎么办

摘要 亲&#xff0c;很高兴为你解答。win11电脑图形卡不支持或已禁用硬件加速解决方法&#xff1a;1、点击任务栏上的开始图标&#xff0c;在打开的菜单中&#xff0c;点击设置&#xff0c;&#xff08;快捷键WINX&#xff0c;点击设置&#xff09;。2、Windows系统 设置窗口&a…