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.mzph.cn/news/591667.shtml

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

相关文章

C#上位机与欧姆龙PLC的通信08----开发自己的通讯库读写数据

1、介绍 前面已经完成了7项工作: C#上位机与欧姆龙PLC的通信01----项目背景-CSDN博客 C#上位机与欧姆龙PLC的通信02----搭建仿真环境-CSDN博客 C#上位机与欧姆龙PLC的通信03----创建项目工程-CSDN博客 C#上位机与欧姆龙PLC的通信04---- 欧姆龙plc的存储区 C#上…

注册 Mongodb 官网个人账号

上文 Mongodb基础介绍与应用场景我们简单说了一下 Mongodb 的场景 那么 我们先在他的官网创建一个个人账号 我们先访问官网 https://www.mongodb.com/zh-cn 这里 我们需要注册一下 这里 我们按要求填写信息 然后 点击下面创建账户 然后 点击下面创建账户 然后 他会要求我们邮…

Spring Boot 3 集成 Jasypt详解

随着信息安全的日益受到重视,加密敏感数据在应用程序中变得越来越重要。Jasypt(Java Simplified Encryption)作为一个简化Java应用程序中数据加密的工具,为开发者提供了一种便捷而灵活的加密解决方案。本文将深入解析Jasypt的工作…

常用环境部署(十三)——GitLab整体备份及迁移

一、GitLab备份 注意:由于我的GitLab是docker安装的,所以我的操作都是在容器内操作的,大家如果不是用docker安装的则直接执行命令就行。 1、Docker安装GitLab 链接:常用环境部署(八)——Docker安装GitLab-CSDN博客 2、GitLab备…

Docker部署系列之Docker Compose安装Redis三主三从集群

总结/朱季谦 在日常开发或者编程当中,经常需要用到redis集群,若是按照传统的方式,一个机器一个机器搭建,难免过于繁琐,故而可以通过dock er-compose编排方式,快速搭建。我在搭建过程当中,将操作…

今天用vite新建的vue3的项目 启动遇到报错

UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token ??at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18) (Use node --trace-warnings ... to show where the warning was created) (node:30304) UnhandledPromiseRejectionWarning: U…

普中STM32-PZ6806L开发板(HAL库函数实现-USART2 中断接收)

简介 实现USART2 的 中断接收, 发送数据。电路原理图 USART2接线 原理图USART2 在主芯片引脚 实物图 其他知识 APIs stm32f1xx_hal_uart.h /* 堵塞发送, pData是发送数据, Size发送数据大小, Timeout是超时时间 */ HAL_StatusTypeDef HAL_UART_Transmit(UAR…

安卓在SOA中的运用

安卓在运用SOA研发的过程中,会针对实际情况对研发的架构和流程进行优化,通过优化过的架构和实施方案,不仅可以大大提升了整车开发的效率和灵活行以及功能落地的稳定性,同时也增加了系统的向上兼容性。 目前基于车载SOA系统的研发…

如何在Mendix中实现全文检索

功能背景 在日常的应用使用过程中,存在大量希望使用全文检索技术的场景,对资料库中的内容进行查询。Mendix默认的结构化查询方式,适合对特定业务实体进行类似数据库单表的基于SQL语句的查询。那如何在Mendix实现全文检索的功能呢&#…

Windows CPU部署llama2量化模型并实现API接口

目录 模型部署本地运行llama2使用fastapi实现API接口常用git仓库 模型部署 从huggingface下载模型 https://huggingface.co/ 放在本地文件夹,如下 本地运行llama2 from ctransformers import AutoModelForCausalLMllm AutoModelForCausalLM.from_pretrained(&q…

微软好听的tts语音包下载,粤语,韩语,日语

微软的 tts 语音库,都是离线的,所以速度非常快 但资源比较少,比如粤语,韩语,日语 我发现一个老牌语音技术供应商。 资源丰富,可自行下载免费或收费语音包。 网站:正版用户专用配套播音员下载…

gitee添加仓库人员

1.进入gitee项目,点击管理 2.点击仓库成员管理,展开仓库成员管理节点,选择所有或者开发者 3.点击添加仓库成员 4. 邀请用户

深度生成模型之GAN的评估 ->(个人学习记录笔记)

文章目录 深度生成模型之GAN的评估图像翻译的应用1. 风格迁移2. 数据增强3. 经典图像任务4. 内容创作5. 人脸图像编辑6. 人体图像编辑 图像翻译模型1. 有监督图像翻译模型2. 无监督图像翻译模型3. 多域图像翻译模型 深度生成模型之GAN的评估 图像翻译的应用 1. 风格迁移 各类…

2024年腾讯云服务器租用价格表_优惠活动大全_实时更新

腾讯云服务器租用价格表:轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三年、2核4G5M带宽218元一年,2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月,云服务器CVM S5实例2核2G配置280.8元一年…

PyTorch官网demo解读——第一个神经网络(4)

上一篇:PyTorch官网demo解读——第一个神经网络(3)-CSDN博客 上一篇我们聊了手写数字识别神经网络的损失函数和梯度下降算法,这一篇我们来聊聊激活函数。 大佬说激活函数的作用是让神经网络产生非线性,类似人脑神经元…

十年磨一剑,花为缘享奢app打造行业的又一颠覆性创新

随着国内生活质量的提高,人们对于奢侈品的消费需求也在不断增长。消费者对于高品质、高价值的商品和服务的需求日益增长。2022年我国内地消费者奢侈品市场规模约为4700亿元,预计2023年我国内地消费者奢侈品消费预计将达到5500亿元,呈现出强劲…

旅游平台网页前后端

功能清单 游客功能 用户注册、登录登录权限拦截按名称搜索房间支付流程查看订单信息和状态评论预定过的房间,并自动修改订单状态查看统计剩余房间数量,数量为0时不可预定 管理员功能 房间分类管理 类型的删除、修改、查询(准备添加增添功能…

Debezium日常分享系列之:Debezium 通知

Debezium日常分享系列之:Debezium 通知 一、概论二、Debezium通知格式三、Debezium 有关初始快照状态的通知四、Debezium 有关增量快照进度的通知五、启用 Debezium 通知六、访问 Debezium JMX 通知七、自定义通知渠道八、应用案例 一、概论 Debezium 通知提供了一…

Wnmp本地部署结合内网穿透实现任意浏览器远程访问本地服务

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1.Wnmp下载安装2.Wnmp设置3.安装cpolar内网穿透3.1…

测开基础概念

小王学习录 前言测试1. 什么是测试2. 测试和调试的区别3. 优秀测试人员应该具备的素质 需求1. 需求的定义2. 测试人员眼里的需求 测试用例1. 什么是测试用例(case)2. 什么是Bug 开发测试模型1. 软件的生命周期2. 瀑布模型3. 螺旋模型3. 增量和迭代4. 敏捷开发5. scrum6. 瀑布模…