package jwtsimport ( "fmt" "github.com/dgrijalva/jwt-go" "github.com/kataras/iris/v12" "strings" "time")// 生成tokenfunc (config *ClaimsConfigJson) Toke ...
转载 2021-07-28 17:51:00
263阅读
2评论
目录1、kafka的生产者2、kafka使用消费组方式处理数据3、kafka消费者处理数据4、kafka相关命令传统的消费模型 消息队列的消息被消费了,数据则从队列里删除,并且下游的多个 consumer 都要抢这条消息。 发布/订阅模型允许消息被多个 consumer 消费,但是订阅者必须订阅所有分区 kafka为规避上面的缺点,引入了 消费组 模型。kafka消费组模型 比如订阅了两个主题,每
转载 2024-03-27 10:48:09
61阅读
2.23 Go之flag包:命令行参数解析背景阐述在编写命令行程序(工具、server)时,我们有时需要对命令参数进行解析。Go语言中的flag包中,提供了命令行参数解析的功能命令行工具包含的几个概念命令行参数(或参数):是指运行程序时提供的参数;已定义命令行参数:是指程序中通过flag.Type这种形式定义了的参数;非flag(non-flag)命令行参数(或保留的命令行参数):简单理解为fla
手册地址: https://godoc.org/gopkg.in/go-playground/validator.v8 https://godoc.org/gopkg.in/go-playground/validator.v9 validator/v10 https://github.com/go-
原创 2021-08-07 14:21:52
1698阅读
我们可以看一下 mockgen 的帮助文档,还有其他的参数供我们使用mockgenmockgen has two modes of operation: source and reflect. Source mode generates mock interfaces from a source file. It is enabled by using the -source flag. Othe
转载 7月前
20阅读
函数基础语法格式:func 函数名(参数)(返回值) { 函数体 }参数参数参数变量和对应类型组成,多个参数用,分隔。Go语言中函数没有默认参数类型简写:当连续两个或多个函数的参数类型相同时,除最后一个类型以外,其它都可以省略。比如参数x int, y int可以写成x, y int。可变参数:当参数数量不固定时,可以通过在参数名后加...来标识可变参数。可变参数在函数中通过切片来实现。可变参
golang之数据验证validator 前言 普通验证对struct的数据方法比较繁琐,这里介绍一个使用比较多的包:validator 原理 将验证规则写在struct对字段tag里,在通过反射获取struct的tag,实现数据验证 安装 go get github.com/go-playgrou ...
转载 2021-09-04 16:33:00
959阅读
2评论
快速安装 使用之前,我们先要获取validator这个库。 # 第一次安装使用如下命令$ go get github.com/go-playground/validator/v10# 项目中引入包import "github.com/go-playground/validator/v10" 简单示例
原创 2022-05-30 17:42:35
2217阅读
在Web开发中对于这样的一个流程可能很眼熟:打开一个网页显示出表单。 用户填写并提交了表单。 如果用户提交了一些无效的信息,或者可能漏掉了一个必填项,表单将会连同用户的数据和错误问题的描述信息返回。 用户再次填写,继续上一步过程,直到提交了一个有效的表单。在接收端,脚本必须:检查用户递交的表单数据。 验证数据是否为正确的类型,合适的标准。例如,如果一个用户名被提交,它必须被验证是否只包含了允许的字符。它必须有一个最小长度,不能超过最大长度。用户名不能与已存在的他人用户名重复,甚至是一个保留
原创 2021-06-01 12:28:12
254阅读
​通过设置TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, 来取消对HTTPS的证书验证,以处理x509: certificatesignedby unknown authority​
原创 2022-07-18 18:09:09
2700阅读
文章目录前言库使用RC4算法源码阅读总结参考 前言这学期在上现代密码的课, 掌握常见的几个加解密算法是基本要求, 于是一开始我打算用golang手撸一遍几个常见密码算法, 既可以提高go的熟练度, 又可以加深密码算法的理解, 一举两得, 不过后来想想, 读源码是基本功, 亲自实现算法比较费时间(我现在最缺的就是时间), 所以换了个思路, 把go的源码库的密码算法实现读明白也是一种不错的码力训练.
转载 6月前
53阅读
模板在写动态页面的网站的时候,我们常常将不变的部分提出成为模板,可变部分通过后端程序的渲染来生成动态网页,golang提供了html/template包来支持模板渲染。这篇文章不讨论golang后端的模板读取及渲染方法,只讨论模板中嵌入变量,渲染变量、循环等一些基本用法。变量在golang渲染template的时候,可以接受一个interface{}类型的变量,我们在模板文件中可以读取变量内的值并
转载 2024-03-26 08:36:37
281阅读
994--Defer函数调用参数的求值 golang的闭包和普通函数调用区别:http://studygolang.com/articles/356 结论: 闭包中参数是其地址 闭包中参数的确定是在声明时求值,而不是在调用
原创 2021-07-25 13:52:14
238阅读
参考资料: http://studygolang.com/articles/7994--Defer函数调用参数的求值 golang的闭包和普通函数调用区别:http://studygolang.com/articles/356 结论: 闭包中参数是其地址 闭包中参数的确定是在声明时求值,而不是在调用
原创 2021-07-22 14:00:50
237阅读
常见的认证方式一般用户认证主流的方式大致上分为基于 session 和基于 token 这两种。基于 sesion 的认证方式用户向服务器发送用户名和密码。服务器验证通过后,在当前对话(sesion)里面保存相关数据,比如用户角色、登录时间等等。服务器向用户返回一个 session_id,写入用户的 Cookie 或其他存储。用户随后的每一次请求,都会通过 Cookie,将 session_id
转载 2024-04-07 13:24:33
114阅读
在很多语言中都提供了不定参数和函数重载以及函数式语言中得闭包来提高函数的灵活性。如果使用过fmt包里的函数,那么你就已经接触到了Golang的不定参数了。那么如何定义一个自己的不定参数的函数呢?一、函数定义首先来看如何定义一个不定参数的函数:func YourFun(v... interface{}){ }该函数定义,定义了一个接受任何数目任何类型参数的函数。这里特殊的语法是三
原创 2014-08-28 02:24:35
10000+阅读
package main import ( "log" "net/http" ) func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8081", nil) } func handler(w http.ResponseW
转载 2018-03-02 21:41:00
378阅读
2评论
这里填写标题1. golang 命令行参数解析1.1. os.Args1.2. flag1.2.1. flag 的其他参数1.2.2. 其它1.2.2.1. 命令行解析出来后对应的是代码中的变量, 在 `flag` 包中获取的变量支持的类型有:1.2.2.2. 将命令行输入值赋值到对应变量的方法:1.2.2.3. 默认值和用法说明: 1. golang 命令行参数解析golang 的命令行参数
如同C语言中的printf()函数,Go语言标准库中的fmt.Println()等函数的实现也严重依赖于语言的不定参数功能。形如...type格式的类型
原创 2023-10-04 05:09:05
263阅读
1. Context详解在 Go 语言中 context 包允许传递一个 “context” 到程序中。 Context 如超时或截止日期(deadline)或通道,来指示停止运行和返回。例如,如果正在执行一个 web 请求或运行一个系统命令,定义一个超时对生产级系统通常是个好主意。因为,如果依赖的API运行缓慢,不希望在系统上备份(back up)请求,因为它可能最终会增加负载并降低所有请求的执
  • 1
  • 2
  • 3
  • 4
  • 5