golang中validator参数校验器自定义规则及提示

在golang中自定义错误信息的展示

标签: validator
发表于:2021-11-12 / 阅读(678) / 评论(0) 分类 Go语言
Golang中validator库参数校验若干实用技巧

本文介绍了使用validator库做参数校验的一些十分实用的使用技巧,包括翻译校验错误提示信息、自定义提示信息的字段名称、自定义校验方法等。 validator库参数校验若干实用技巧 在web开发中一个不可避免的环节就是对请求参数进行校验,通常我们会在代码中定义与请求参数相对应的模型(结构体),借助...

标签: validator
发表于:2021-11-12 / 阅读(558) / 评论(0) 分类 Go语言
使用go-playground/validator实现请求参数验证并输出中文错误信息

实现目标 go-playground/validator 原始的参数验证错误信息为英文字符串,很不友好。 在网上找到了这篇文章,解决了大部分问题。但是返回的错误信息没有分字段,且没有真实字段名,对前端来说不友好。 最后自己动手稍作改造,先看看最后实现的结果:

标签: validator
发表于:2021-11-12 / 阅读(886) / 评论(0) 分类 Go语言
Golang urlencode与urldecode编码解码

为什么需要编码和解码 1.是因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的; 2.因为 url 对字符有限制,比如把一个邮箱放入 url,就需要使用 urlencode 函数,因为 url 中不能包含 @ 字符; 3.url转义其实也只是为了符合url的规范...

发表于:2021-11-8 / 阅读(1670) / 评论(0) 分类 Go语言
Google:12 条 Golang 最佳实践

这是直接总结好的 12 条,详细的再继续往下看: 先处理错误避免嵌套 尽量避免重复 先写最重要的代码 给代码写文档注释 命名尽可能简洁 使用多文件包 使用 go get 可获取你的包 了解自己的需求 保持包的独立性 避免在内部使用并发 使用 Goroutine 管理状态 避免 Goroutin...

标签: golang
发表于:2021-11-4 / 阅读(556) / 评论(0) 分类 Go语言
GO爬虫必备之HTTP请求

本文以 Python 的 requests 文档为指导方向,整理了 requests 快速入门文档中的案例在 GO 的是如何实现的。要说明的是, GO 其实也提供了对应于 requests 的克隆版本,github如下: https://github.com/levigross/grequests​...

标签: 爬虫
发表于:2021-10-20 / 阅读(582) / 评论(0) 分类 Go语言
golang 获取重定向信息

golang 获取重定向信息 原因 爬虫获取百度查询结果的时候,为了获取网页真实地址,而百度跳转页面的其中一种方式就是302重定向(redirect),那么针对这种方式,go语言默认自动执行redirect的,所以没办法使用get请求获取真实地址 对于第一条描述的,在302重定向的时候,真实地址在...

标签: redirect
发表于:2021-9-28 / 阅读(505) / 评论(0) 分类 Go语言
Go Context 最佳实践

使用场景 Context 主要有以下三种使用场景 传递超时信息,这点用的最多 传递信号,用于消息通知,处理多协程通信 传递数据,常用的框架层 trace-id, metadata

标签: context
发表于:2021-9-26 / 阅读(491) / 评论(0) 分类 Go语言
Go安全指南

目录 - [1 通用类](#1) * [I. 代码实现](#1.1) + [1.1 内存管理](#1.1.1) + [1.2 文件操作](#1.1.2) + [1.3 系统接口](#1.1.3) + ...

标签: 安全
发表于:2021-9-26 / 阅读(500) / 评论(0) 分类 Go语言
Go 1.17 新特性:Go Module 的变化

自从 Go1.11 增加 Go Module 以来,每个版本都在不断改进 Module。Go1.17 也不例外。这次最主要的变化有两点: Module graph pruning:Module 依赖图修剪 Lazy Loading:Module 延迟加载

标签: golang
发表于:2021-9-23 / 阅读(1200) / 评论(0) 分类 Go语言
golang怎么会变成这么火

程序员始终在寻找一种更加高效,安全的开发语言,高效表现在开发高效和运行高效,安全在于程序要要较少的去关注底层安全问题。当然还有其它的原因,比如:ide,构建,部署难易程度。简单说就是开发者体验。

标签: golang
发表于:2021-9-23 / 阅读(477) / 评论(0) 分类 Go语言
如何在 Go 中优雅地传递、返回、暴露错误方便追溯

在后台开发中,针对错误处理,有三个维度的问题需要解决: 函数内部的错误处理: 这是一个函数在执行过程中遇到各种错误时的错误处理。这是一个语言级的问题 函数/模块的错误信息返回: 一个函数在操作错误之后,要怎么将这个错误信息优雅地返回,方便调用方(也要优雅地)处理。这也是一个语言级的问题 服务/系统...

标签: 错误处理
发表于:2021-9-23 / 阅读(498) / 评论(0) 分类 Go语言
一个Go语言HTTP包Client使用的坑

一句话总结 Go 的 http 包默认不指定请求超时,允许外部服务劫持你的 goroutine 。 连接到外部服务时,始终需要自定义 http.Client ,至少要自定义超时时间。

标签: http
发表于:2021-9-18 / 阅读(1527) / 评论(0) 分类 Go语言
Go CodeReview关注点

Go CodeReview关注点 Gofmt 在代码上运行gofmt来修复大部分形式化的代码风格问题。现在基本所有的Go项目代码都会使用gofmt。下面讨论的都是这个工具无法解决的代码风格问题。 另外一个选择是使用goimports,它是gofmt的超集,额外提供了自动删除或导入的功能。

标签: code-review
发表于:2021-9-18 / 阅读(551) / 评论(0) 分类 Go语言
Golang读取写入Excel文件

Golang读取写入Excel文件 日常开发中会遇到处理Excel文件的相关操作,几乎所有的系统都有数据报表下载,一般的情况我们都会采用csv格式来下载数据,原因有 写csv文件比较方便,大数据量也没有什么问题。 csv文件用微软Excel打开操作也非常的方便,几乎跟Excel文件没有区别 但是...

标签: excel xlsx
发表于:2021-9-18 / 阅读(548) / 评论(0) 分类 Go语言
Go单测 mock数据库测试

这是Go语言单元测试从零到溜系列教程的第2篇,介绍了如何使用go-sqlmock和miniredis工具进行MySQL和Redis的mock测试。 在上一篇《Go单测从零到溜系列——1.网络测试》中,我们介绍了如何使用httptest和gock工具进行网络测试。 除了网络依赖之外,我们在开发中也会经...

标签: 测试
发表于:2021-9-16 / 阅读(585) / 评论(0) 分类 Go语言
go语言编写Web程序

简介 这个例子涉及到的技术: 创建一个数据类型,含有load和save函数 基于http包创建web程序 基于template包的html模板技术 使用regexp包验证用户输入 使用闭包

发表于:2021-9-16 / 阅读(501) / 评论(0) 分类 Go语言
Golang后台单元测mock网络测试

这是Go语言单元测试从零到溜系列教程的第1篇,介绍了如何使用httptest和gock工具进行网络测试。 在上一篇《Go单测从零到溜系列——0.单元测试基础》中,我们介绍了Go语言编写单元测试的基础内容。 而实际工作中的业务场景往往会比较复杂,无论我们的代码是作为server端对外提供服务或者还是我...

标签: golang test
发表于:2021-9-15 / 阅读(467) / 评论(0) 分类 Go语言
Golang后台单元测基础

这是Go语言单元测试从零到溜系列教程的第0篇,主要讲解在Go语言中如何做单元测试以及介绍了表格驱动测试、回归测试,并且介绍了常用的断言工具。

标签: golang
发表于:2021-9-15 / 阅读(441) / 评论(0) 分类 Go语言
一文读懂go mod依赖管理

早期 Go 语言单纯使用 GOPATH 管理依赖,但 GOPATH 不方便管理依赖的多个版本,后来增加了 vendor,允许把项目依赖连同项目源码一起管理。 但是 vendor 也有不足,就是项目依赖关系不清楚,依赖包升级困难,这也催生了众多依赖管理的工具,呈现百家争鸣之势。 直到 GO 1.11,...

标签: golang Module
发表于:2021-9-14 / 阅读(1631) / 评论(0) 分类 Go语言
如何加速golang写业务的开发速度

golang写业务代码经常会被吐槽,写业务太慢了,其中最大的吐槽点就是,处理各种error太麻烦了。一个项目中,会有30%或者更多的是在处理error。 对于golang的error这个事情,golang的官方也说的很详细,建议函数返回error,并且让上层调用处理。 error和panic实际上就...

标签: error 效率
发表于:2021-9-14 / 阅读(548) / 评论(0) 分类 Go语言
Go语言中的程序实体

Go语言中的程序实体包括变量、常量、函数、结构体和接口。 Go语言是静态类型的编程语言,所以我们在声明变量或常量的时候,都需要指定它们的类型,或者给予足够的信息,这样才可以让Go语言能够推导出它们的类型。

标签: golang
发表于:2021-9-9 / 阅读(436) / 评论(0) 分类 Go语言
使用 Delve 调试远程 Go 应用

Delve 是 Go 语言的一个调试器。其目标是为 Go 语言提供一个易用,拥有完整功能的调试工具。

标签: golang
发表于:2021-9-8 / 阅读(450) / 评论(0) 分类 Go语言
理解真实项目中的 Go 并发 Bug

本文内容源于论文《Understanding Real-World Concurrency Bugs in Go》,从 6 个非常流行的开源项目中,收集了 171 个并发 bug,从传统的共享内存访问、Go 语言新的并发原语的特性方面入手,研究了并发 bug 产生的原因以及修复的方法,以便使 Go ...

标签: golang
发表于:2021-9-8 / 阅读(450) / 评论(0) 分类 Go语言
Go应用中优雅处理Error的几个技巧方法

Go语言很强大并且现在也十分流行 — 许多项目都是用Go语言来实现的,如Kubernetes。Go语言的一个有趣特性是它的多值返回功能提供了一种与其他编程语言不同的错误处理方法。Go将error视为具有预定义类型的值,其本身是一个interface类型。然而,编写大型应用时需要有包含更多上下文信息的...

标签: golang error
发表于:2021-9-8 / 阅读(508) / 评论(0) 分类 Go语言
Golang的HTTP实现

超文本传输协议(Hypertext Transfer Protocol、HTTP 协议)是今天使用最广泛的应用层协议,1989 年由 Tim Berners-Lee 在 CERN 起草的协议已经成为了互联网的数据传输的核心。

标签: http
发表于:2021-9-8 / 阅读(547) / 评论(0) 分类 Go语言