golang validator参数校验的实现

今天在改后台页面,参数校验错误时输出全是英文,使用着很难看懂到底时什么错了
故而决定去做i18n前端国际化. 改的时候踩了很多坑,故而记录一下,顺便记录以下查问题的方式。效果...

Golang Goroutine的使用

什么是 Goroutine
goroutine 是 Go 并行设计的核心。goroutine 说到底其实就是协程,它比线程更小,十几个 goroutine 可能体现在底层就是五六个线程,Go 语言内部帮你实现了这些...

基于gin的golang web开发:路由示例详解

Gin是一个用Golang编写的HTTP网络框架。它的特点是类似于Martini的API,性能更好。在golang web开发领域是一个非常热门的web框架。启动一个Gin web服务器使用下面的命令安装G...

详解golang开发中http请求redirect的问题

这两天在开发项目的时候遇到了一个问题,请求了一个URL,它会302到另一个地址,本意上只是想检查这个URL是否会做3XX的redirect跳转,结果每次reqeust都会返回最后一跳的结果。后来...

gin使用自定义结构绑定表单数据的示例代码

以下示例使用自定义结构type StructA struct { FieldA string `form:"field_a"`} type StructB struct { NestedStruct StructA FieldB string `form:"field_b"`} type S...

2021-05-08

golang中的三个点 '...'的用法示例详解

‘…' 其实是go的一种语法糖。
它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。
第二个用法是slice可以被打散进行传递。下面直接上例...

goland 搭建 gin 框架的步骤详解

1. 安装go软件包下载地址:https://studygolang.com/dl下载后,双击安装即可。2. 配置系统变量这里需要配置2个系统变量,一个是GOROOT,一个是GOPATH注意:GOROOT和GOPATH不能在同一...

golang常用库之配置文件解析库-viper使用详解

golang常用库:gorilla/mux-http路由库使用
golang常用库:配置文件解析库-viper使用
golang常用库:操作数据库的orm框架-gorm基本使用
golang常用库:字段参数验证库-validator使...

如何使用Goland IDE go mod 方式构建项目

不管学习什么编程语言一开始都会经历的四步 开发工具安装 IDE安装 设置 依赖/包 国内镜像 项目构建工具,管理依赖/包一、Golang 开发工具安装https://golang.org/ 官网(需...

解析GOROOT、GOPATH、Go-Modules-三者的关系

一、GOROOT介绍在安装完Golang语言的时候,所谓的安装路径其实就是你的GOROOT路径,也就是说GOROOT存放的Golang语言内建的程式库的所在位置,而通常你安装完后,你电脑的环境变数就...

Golang 定时器(Timer 和 Ticker),这篇文章就够了

定时器是什么
Golang 原生 time 包下可以用来执行一些定时任务或者是周期性的任务的一个工具本文基于 Go 1.14,如果以下文章有哪里不对或者问题的地方,欢迎讨论学习定时器的日...

golang jwt+token验证的实现

Token验证是验证用户身份的重要方式,在golang开发中具有广泛应用,文中主要阐述了利用jwt包加密后的token验证。导入包:import ( "github.com/dgrijalva/jwt-go")// GenerateTo...

详解Golang中的各种时间操作

需求
时间格式的转换比较麻烦,自己写了个工具,可以通过工具中的这些方法相互调用转成自己想要的格式,代码如下,后续有新的函数再添加
实现代码
package utilsimport "time"c...

利用go-zero在Go中快速实现JWT认证的步骤详解

关于JWT是什么,大家可以看看官网,一句话介绍下:是可以实现服务器无状态的鉴权认证方案,也是目前最流行的跨域认证解决方案。要实现JWT认证,我们需要分成如下两个步骤 客户端获取...

Goland激活码破解永久版及安装详细教程(亲测可以)

教程使用的版本是2019.1一、go安装1、建议去go语言中文网下载,网址:https://studygolang.com/dl,下图是下载页面及包介绍2、Windows版安装3、在cmd命令行窗口输入“go version...

浅析goland等待锁问题

问题描述:向后台发送了一个URL请求,竟然一直卡住,没有返回,就一直卡着问题分析定位:一开始还以为是网络,还是什么其它奇怪的原因,毕竟之前好好的。这里应该第一时间思考环境的变化,...

Go+Vue开发一个线上外卖应用的流程(用户名密码和图形验证码)

图形化验证码生成和验证功能介绍在使用用户名和密码登录功能时,需要填写验证码,验证码是以图形化的方式进行获取和展示的。验证码使用原理验证码的使用流程和原理为:在服务器端...

Golang中Delve版本太低无法Debug的问题

问题描述分析这是因为本地delve组件版本过低导致的,2019.2.1版本的Goland默认支持go 1.13查看F:\Go (GOPATH目录)目录下存在github.com/go-delve/delve/cmd/dlv,而且bin目录下...

go-zero 应对海量定时/延迟任务的技巧

一个系统中存在着大量的调度任务,同时调度任务存在时间的滞后性,而大量的调度任务如果每一个都使用自己的调度器来管理任务的生命周期的话,浪费cpu的资源而且很低效。本文来介...

详解Go module的介绍及使用

Go1.1.1版本发布(2018-08-24发布)已经过去几天,从官方的博客中看到,有两个比较突出的特色,一个就是今天讲的module,模块概念。目前该功能还在试验阶段,有些地方还需要不断的进行...

Golang之casbin权限管理的实现

1. 权限管理Casbin是用于Golang项目的功能强大且高效的开源访问控制库。1.1.1. 特征Casbin的作用:以经典{subject, object, action}形式或您定义的自定义形式实施策略,同时支...

golang 两个go程轮流打印一个切片的实现

问题描述:
两个 go 程轮流打印一个切片。Golang 实现:
使用两个 channel,只用来判断
package mainimport ( "fmt" "sync")// 两个 go 程轮流打印一个切片func main() { ch1 :=...

golang的序列化与反序列化的几种方式

golang用来序列化的模块有很多,我们来介绍3个。json
首先登场的是json,这个几乎毋庸置疑。序列化package mainimport ( "encoding/json" "fmt")type Girl struct { Name strin...

GO语言gin框架实现管理员认证登陆接口

后台用户登录验证功能是很多项目的必须要有的逻辑 , 也是常见的技术需求 .要实现这个逻辑首先要有数据库表结构如下:CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INC...

Goland 的安装及激活教程(window、linux下安装)

前言前面我们已经将GO的环境安装好了,那么是否可以进行开发了呢?可以,但是为了能够更高效率的开发,我们还需要下载一个软件,该软件的作用就是方便我们能够快速的编写GO指令,快速的...

关于go语言编码需要放到src 文件夹下的问题

golang中GOPATH的简单理解 1、为什么要配置GOPATH配置GOPATH的用意是为了方便项目的部署和构建,以及可以直接使用go get 命令下载第三方的包到自己的项目的src下和相关的执行...

logrus hook输出日志到本地磁盘的操作

logrus是go的一个日志框架,它最让人激动的应该是hook机制,可以在初始化时为logrus添加hook,logrus可以实现各种扩展功能,可以将日志输出到elasticsearch和activemq等中间件去,甚...

Golang操作MySql数据库的完整步骤记录

前言MySQL是业界常用的关系型数据库,在平时开发中会经常与MySql数据库打交道,所以在接下来将介绍怎么使用Go语言操作MySql数据库。下载MySql连接驱动
Go语言中的database/sql...

golang常用库之操作数据库的orm框架-gorm基本使用详解

golang常用库:gorilla/mux-http路由库使用
golang常用库:配置文件解析库-viper使用
golang常用库:操作数据库的orm框架-gorm基本使用一:字段映射-模型定义gorm中通常用struct来...

golang之数据验证validator的实现

前言在web应用中经常会遇到数据验证问题,普通的验证方法比较繁琐,这里介绍一个使用比较多的包validator。原理将验证规则写在struct对字段tag里,再通过反射(reflect)获取struct的...

解决go 生成的exe不在bin文件夹里的问题

GO项目目录解释src存放源代码pkg编译后生成的文件bin编译后生成的可执行文件背景在src目录下,新建文件test.go,编写代码。控制台执行go build test.go之后发现:生成的test.exe...

详解Go语言的context包从放弃到入门

一、Context包到底是干嘛用的我们会在用到很多东西的时候都看到context的影子,比如gin框架,比如grpc,这东西到底是做啥的?
大家都在用,没几个知道这是干嘛的,知其然而不知其所以然...

Golang搭建开发环境的图文教程

Golang开发环境搭建Go 语言开发包国外:https://golang.org/dl/国内(推荐): https://golang.google.cn/dl/编辑器Golang:https://www.jetbrains.com/go/ Visual Studio Code:...

Ubuntu18.04 LTS搭建GO语言开发环境过程解析

一、下载Go语言安装包官网下载地址:https://golang.org/dl/,使用tar命令将档案包解压到/usr/local目录中:sudo tar -C /usr/local -xzf go1.11.5.linux-amd64.tar.gz二、添加环...

goland 设置注释模板的过程图文详解

网上找了一些办法 都没有说到关键点:梳理一下设置步骤如下,以及避免的坑。新建文件自动加注释:Preferences | Editor | File and Code Templates 打开go File 在右侧输入模板,然...

Golang 语言map底层实现原理解析

在开发过程中,map是必不可少的数据结构,在Golang中,使用map或多或少会遇到与其他语言不一样的体验,比如访问不存在的元素会返回其类型的空值、map的大小究竟是多少,为什么会报"ca...

GO接收GET/POST参数及发送GET/POST请求的实例详解

Golang: 接收GET和POST参数GET 和 POST 是我们最常用的两种请求方式,今天讲一讲如何在 golang 服务中,正确接收这两种请求的参数信息。
处理GET请求1.1 接收GET请求//接收GET...

详解Go内存模型

介绍Go 内存模型规定了一些条件,在这些条件下,在一个 goroutine 中读取变量返回的值能够确保是另一个 goroutine 中对该变量写入的值。【翻译这篇文章花费了我 3 个半小时 】H...

Goland 生成可执行文件的操作

返回主页Goland通过调用go build 生成可执行文件。默认Goland是可以执行程序,但你找不到可执行文件。你需要自定义配置文件。创建go build配置文件Run kind 选DirectoryDirec...

golang一些常用的静态检查工具详解

一、背景俗话说,工欲善其事,必先利其器。go 作为一个对基础功能封装非常好的语言,对编码体验,如何更高效地写出高性能代码,都是考虑非常好的。因此,如何能够写出更美观、更安全的g...

go特性之数组与切片的问题

数组:
复制传递(不要按照c/c++的方式去理解,c/c++中数组是引用传递),定长切片:
引用传递,底层实现是3个字段 array(数组) + len(长度) +cap(容量)go/src/runtime/slice.go slice结构...

详解go语言单链表及其常用方法的实现

目的
在刷算法题中经常遇到关于链表的操作,在使用go语言去操作链表时不熟悉其实现原理,目的是为了重温链表这一基础且关键的数据结构。
1、链表的特点和初始化
1.1、链表的特...

Golang学习笔记之安装Go1.15版本(win/linux/macos/docker安装)

安装Go1.15版本 大纲 Windows安装GoLinux安装GoMacOS安装GoDocker安装Go总结视频地址:https://www.bilibili.com/video/BV14a4y177XG?p=3Windows安装Go1.点击下载go1.15...

go版tensorflow安装教程详解

此文章基于ubuntu16.04先在这里贴上官方教程
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/go 注意 安装go版的tensorflow时一定要先安装C版tensorflo...

golang语言如何将interface转为int, string,slice,struct等类型

在golang中,interface{}允许接纳任意值,int,string,struct,slice等,因此我可以很简单的将值传递到interface{},例如:package mainimport ( "fmt")type User struct{ Name string}...

go install/build生成的文件命名和路径操作

1. 写在前面本文主要讨论go install/build命令生成的文件命令和生成路径问题。将从两种情况讨论:文件夹下只有一个“命令源码文件”文件夹下既有命令源码文件还有其他源码文...

详解Go语言中用 os/exec 执行命令的五种方法

完整系列教程详见:http://golang.iswbm.com在 Golang 中用于执行命令的库是 os/exec,exec.Command 函数返回一个 Cmd 对象,根据不同的需求,可以将命令的执行分为三种情况 只执...

IdeaGo启动报错Failed to create JVM的问题解析

【内容】: 问题情况 出现之前做了什么 出错之前通过这个功能增加了个错误的vm参数:-agent:xxx.jar怎么办? 百度了一圈,都是让删掉:C盘\用户\用户名\.IntelliJIdea201...

golang使用 gomodule 在公共测试环境管理go的依赖的实例详解

背景:调试服务最好的方式就是直接上机实践。对在公司的员工来说,在同一套服务上协同开发比在单独的环境上开发,应该会更有感觉。有问题可以一起发现并解决,也能够一同开发需求。...

mac下安装golang框架iris的方法

安装前准备:设置GOPROXY代理参考:https://goproxy.cn/我使用的是下面的两条命令:$ go env -w GO111MODULE=on$ go env -w GOPROXY=https://goproxy.cn,direct我的go env信息:% g...

返回顶部
顶部