11 2024 档案
摘要:一. go-resty一个优秀的 HTTP 客户端库 go-resty是一个优秀的 HTTP 客户端库,支持链式调用,超时控制,TLS,Cookie 管理,链接池,代理,支持多种认证方式包括基本认证和 OAuth 2.0,支持发送 JSON、XML 和 URL 编码的数据,文件上传和下载,支持发送大
阅读全文
摘要:Golang 中的单元测试是使用标准库 testing 来实现的,编写一个单元测试的步骤: 1、创建测试文件:在 Go 项目的源代码目录下创建一个新的文件(和被测代码文件在同一个包),以 _test.go 为后缀名。例如,要测试net包中 dial.go 中的方法,在 net 包中创建一个名字为 d
阅读全文
摘要:WebSocket 的最大特点 WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。 HTTP 有 1.1 和 1.0 之说,也就是所谓的 keep-alive ,把多个 HTTP 请求合并为一个,但是 Websocket 其实
阅读全文
摘要:Engine Engine即gin对应的服务端类(Server类),对应net/http中的ServeMux。编写gin的服务时,通常有两种初始化方法: 以上两种方法都生成一个*Engine实例,只是gin.Default()生成的Engine带了Logger和Recovery两个中间件。Engin
阅读全文
摘要:1、想要使用中间件必须是一个 func(c *gin.Context)类型的函数,底层实现了handeFunc方法 2、中间件是请求和响应的分界点,无论怎么变换给前端响应的那个动作永远最后执行 2、Use()⽅法的作用是,将中间件函数存放到一个map里用于后续的执行,只会给c上下⽂添加⼀个属性,并赋
阅读全文
摘要:1 RPC是什么 RPC,Remote Procedure Call,远程过程调用。 过程 就是业务处理、计算任务,也就是程序,像调用本地方法一样调用远程方法。 RPC的概念与技术早在1981年由Nelson提出。1984年,Birrell和Nelson把其用于支持异构型分布式系统间的通讯。Birr
阅读全文
摘要:一、引言 在Go语言中,匿名函数与闭包是两个重要的概念,它们增强了Go语言的表达力和功能性,使得代码更加简洁和强大。 本文将深入探讨Go语言中的匿名函数与闭包,帮助读者更好地理解和应用这两个概念。 匿名函数在Go语言中提供了一种灵活的方式来定义即用即抛的函数逻辑,减少了命名负担并且可以直接在代码中嵌
阅读全文
摘要:http请求报文格式:请求行,请求头,请求体 请求行:包括四个部分 请求方法、请求地址、空行、协议版本、 http常用的几种请求方法:get、post、put、delete、option、head等等。 请求头:请求报文的一些附加信息。(需要记住一些http常见请求头) 请求头的最后有一行空行表示请
阅读全文
摘要:01 什么是泛型 泛型类似C++中的模板 Go 是一门强类型语言,意味着程序中的每个变量和值都有某种特定的类型,例如int、string 等。在函数签名中,我们需要对参数和返回值指定类型,如下所示: func Add(a, b int) int 参数 a 和 b 的类型是 int,返回值类型也是 i
阅读全文
摘要:gin.context是一个结构体类型,其定义如下: type Context struct { // 定义了一些私有成员变量,用于存储请求和响应等信息 writermem responseWriter Request *http.Request // 保存request请求 Writer Resp
阅读全文
摘要:1、可以在go.mod里设置一个package名,这样可以将这个package名作为go.mod所在目录的包名,导包的时候可以用这个名作为路径例如: 2、time.UnixMilli()是以毫秒为单位获取时间戳 3、type str string//可以把str同时视为一个string和一个类 //
阅读全文