随笔分类 -  go

学习了解quic go
摘要:## responseUse response中间件,在Bind()之前执行。可以对response进行通用逻辑处理。 如果只需要闭包逻辑,则可以使用`WithResponseMiddlerFunc`,而不必创建一个结构体,下面的例子中对两种方法都进行了使用。 ```go import ( "byt 阅读全文
posted @ 2023-07-27 11:51 codestacklinuxer 阅读(12) 评论(0) 推荐(0) 编辑
摘要:国内网络访问国外资源经常会出现不稳定的情况,目前需要搭建CDN代理,目前有 # 启用 Go Modules 功能 go env -w GO111MODULE=on # 配置 GOPROXY 环境变量,以下三选一 # 1. 七牛 CDN go env -w GOPROXY=https://goprox 阅读全文
posted @ 2023-07-25 16:17 codestacklinuxer 阅读(11) 评论(0) 推荐(0) 编辑
摘要:断言 // 目的是检查 *QueryEncode 类型是否满足了 Adder 接口。 // 在这里,Adder 是一个接口类型,QueryEncode 是一个具体的类型。QueryEncode 类型是否实现了add 接口 var _ Adder = (*QueryEncode)(nil) 反射 x 阅读全文
posted @ 2023-07-14 11:20 codestacklinuxer 阅读(30) 评论(0) 推荐(0) 编辑
摘要:目前使用net/http 长连接 连接池复用时,出现连接一直都在关闭重连, strace 后发现没有read respone 只读取了head,但是body没有读取, google后看到官方问题,确实记录需要代码实现读取body逻辑来清空socket内核缓存,以便后面复用。 需要读取respone里 阅读全文
posted @ 2023-07-13 16:03 codestacklinuxer 阅读(143) 评论(0) 推荐(1) 编辑
摘要:注意: “_”是特殊标识符,用来忽略结果。 iota是go语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引) slice 并不是数组或数组指针。它通过内部指针和相 阅读全文
posted @ 2023-05-20 23:38 codestacklinuxer 阅读(30) 评论(0) 推荐(0) 编辑
摘要:HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括: no-cache、no-store、max-age、 max-stale、min-fresh、only- 阅读全文
posted @ 2023-05-14 16:46 codestacklinuxer 阅读(41) 评论(0) 推荐(0) 编辑
摘要:func (ctl *loginController) Static(c *gin.Context) { uri := c.Param("uri") if fileExists(path.Join(config.GetAppCfg().ResourcePath, uri)) { crcnumcook 阅读全文
posted @ 2023-05-12 11:28 codestacklinuxer 阅读(21) 评论(0) 推荐(0) 编辑
摘要:目前使用go 的gin 框架写了一个http portal 服务器, 1、目前为了调试方便,http服务器回报时会设置cookie 比如设置cookie:hostid=1;MD5=wewq8wqe等作为trace id 方便后续跟踪log 2、在设置cookie的时候遇到了,一些问题,比如设置coo 阅读全文
posted @ 2023-05-12 11:14 codestacklinuxer 阅读(47) 评论(0) 推荐(0) 编辑
摘要:在 Gin 框架中,路由器(Router)支持的 URL 模式可以使用多种符号来匹配 URL。下面是一些常用的符号及其作用: /:匹配 URL 中的 / 字符。 *:匹配 URL 中的任意字符,但不包括 /。例如,/user/*action 可以匹配 /user/add、/user/edit、/us 阅读全文
posted @ 2023-05-11 16:30 codestacklinuxer 阅读(50) 评论(0) 推荐(0) 编辑
摘要:绑定方法 在 Go 语言中,我们无法在结构体内定义方法,那如何给一个结构体定义方法呢,答案是可以使用组合函数的方式来定义结构体方法。它和普通函数的定义方式有些不一样,比如下面这个方法 func (person Profile) FmtProfile() { fmt.Printf("名字:%s\n", 阅读全文
posted @ 2023-05-10 19:41 codestacklinuxer 阅读(58) 评论(0) 推荐(0) 编辑
摘要:即时求值的变量快照 使用 defer 只是延时调用函数,此时传递给函数里的变量,不应该受到后续程序的影响。 比如这边的例子 import "fmt" func main() { name := "go" defer fmt.Println(name) // 输出: go name = "python 阅读全文
posted @ 2023-05-10 19:31 codestacklinuxer 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1. 下载并安装 gin: gogetugithub.com/gingonic/gin使Gomodulesgomod go mod init learninggo package main import "github.com/gin-gonic/ 阅读全文
posted @ 2023-05-05 22:34 codestacklinuxer 阅读(11) 评论(0) 推荐(0) 编辑
摘要:来自:go init函数 1、golang里的main函数是程序的入口函数,olang还有另外一个特殊的函数init函数,先于main函数执行 init函数的主要作用: 初始化不能采用初始化表达式初始化的变量。 程序运行前的注册。 实现sync.Once功能。 其他 init函数的主要特点: ini 阅读全文
posted @ 2023-03-24 22:10 codestacklinuxer 阅读(49) 评论(0) 推荐(0) 编辑
摘要:通过结构体可以定义一个组合字面量,有几个细节,也算是规则 规则一:当最后一个字段和结果不在同一行时,, 不可省略。 xm := Profile{ name: "小明", age: 18, gender: "male", } 反之,在同一行,就可以省略。 xm := Profile{ name: "小 阅读全文
posted @ 2023-03-16 20:53 codestacklinuxer 阅读(24) 评论(0) 推荐(0) 编辑
摘要:并发(concurrency)和并行(parallelism) 前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生; 并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。 并行(parallelism)是指同时发生 阅读全文
posted @ 2021-08-15 16:15 codestacklinuxer 阅读(197) 评论(0) 推荐(0) 编辑
摘要:函数的传递参数方式: 传递结构体时:会拷贝结构体中的全部内容; 传递结构体指针时:会拷贝结构体指针; 将指针作为参数传入某个函数时,函数内部会复制指针,也就是会同时出现两个指针指向原有的内存空间,所以 Go 语言中传指针也是传值 Go 语言的整型和数组类型都是值传递的 也就是在调用函数时会对内容进行 阅读全文
posted @ 2021-08-13 21:37 codestacklinuxer 阅读(634) 评论(0) 推荐(0) 编辑
摘要:make 的作用是初始化内置的数据结构,也就是我们在前面提到的切片、哈希表和 Channel2; new 的作用是根据传入的类型分配一片内存空间并返回指向这片内存空间的指针3; 在代码中往往都会使用如下所示的语句初始化这三类基本类型,这三个语句分别返回了不同类型的数据结构: slice := mak 阅读全文
posted @ 2021-08-11 17:11 codestacklinuxer 阅读(71) 评论(0) 推荐(0) 编辑
摘要:在Go语言中,每一个并发的执行单元叫作一个goroutine; 当一个程序启动时,其主函数即在一个单独的goroutine中运行,我们叫它main goroutine。新的goroutine会用go语句来创建。在语法上,go语句是一个普通的函数或方法调用前加上关键字go。go语句会使其语句中的函数在 阅读全文
posted @ 2021-07-04 10:45 codestacklinuxer 阅读(188) 评论(0) 推荐(0) 编辑
摘要:接口 接口类型是对其它类型行为的抽象和概括;因为接口类型不会和特定的实现细节绑定在一起,通过这种抽象的方式我们可以让我们的函数更加灵活和更具有适应能力 接口类型 接口类型具体描述了一系列方法的集合,一个实现了这些方法的具体类型是这个接口类型的实例 实现接口的条件 一个类型如果拥有一个接口需要的所有方 阅读全文
posted @ 2021-07-03 21:54 codestacklinuxer 阅读(176) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示