随笔分类 -  Golang

1 2 3 4 5 ··· 9 下一页
摘要:https://baijiahao.baidu.com/s?id=1840292747265997661&wfr=spider&for=pc 阅读全文
posted @ 2025-10-23 12:12 李若盛开 阅读(0) 评论(0) 推荐(0)
摘要:https://www.11meigui.com/2025/golang-struct-empty-check.html 1. 直接与零值结构体比较(适用于简单结构体)对于仅包含基本类型字段(无指针、切片、映射等引用类型)的结构体,可以直接与同类型的零值结构体比较。这是性能最优的方法,无需反射开销。 阅读全文
posted @ 2025-08-30 12:12 李若盛开 阅读(25) 评论(0) 推荐(0)
摘要:module declares its path as: github.com/micro/go-micro but was required as: go-micro.dev/v4/api have Call("context".Context, "github.com/asim/go-micro 阅读全文
posted @ 2025-08-28 19:15 李若盛开 阅读(11) 评论(0) 推荐(0)
摘要:Koala 是一个用 Go 语言开发的通用频率控制系统和规则引擎,主要适用于互联网产品的用户行为频率控制,如反作弊、广告展示频率限制等场景。该项目采用 Go 语言实现,以提供高性能的后端服务。 1. 项目基础介绍和主要编程语言 项目名称:Koala 项目类型:通用频率控制系统和规则引擎 主要编程语言 阅读全文
posted @ 2025-08-05 22:47 李若盛开 阅读(13) 评论(0) 推荐(0)
摘要:slices.Delete func Delete[S ~[]E, E any](s S, i, j int) S 从 s 中删除元素 s[i:j],返回修改后的切片。如果 s[i:j] 不是 s 的有效切片,则会 panic。Delete是 O(len(s)-j),因此如果必须删除许多项,最好调用 阅读全文
posted @ 2025-07-27 23:37 李若盛开 阅读(50) 评论(0) 推荐(0)
摘要:简介 熔断降级是系统设计中用来保护服务稳定性和用户体验的重要机制,尤其在高并发场景下。 想象一下家里的电路系统:当使用很多电器时,如果电流突然过载(比如同时打开所有大功率电器),电线可能因为过热而烧坏,甚至引发火灾。为了防止这种情况,家里会装保险丝(或者现代的断路器)。 正常情况:电器正常工作,电流 阅读全文
posted @ 2025-07-27 22:46 李若盛开 阅读(61) 评论(0) 推荐(0)
摘要:Go语言的plugin Go plugin支持将Go包编译为共享库(.so)的形式单独发布。主程序可以在运行时动态加载这些编译为动态共享库文件的Go插件,从中提取导出(exported)变量或函数的符号并在主程序的包中使用。Go插件的这种特性为Go开发人员提供了更多的灵活性,我们可以使用它来实现支持 阅读全文
posted @ 2025-07-27 22:37 李若盛开 阅读(228) 评论(0) 推荐(0)
摘要:Gin(https://github.com/gin-gonic/gin) Gin是一个用Go编写的Web框架,它是一个类似于martini但拥有更好性能的API框架。基本现在每个Go初学者学习的第一个web框架都是Gin。在网上看到一个关于对各个Go-web框架受欢迎的对比: 可以看到Gin在社区 阅读全文
posted @ 2025-07-26 16:57 李若盛开 阅读(35) 评论(0) 推荐(0)
摘要:一、使用 Consul 实现服务发现与注册 1. 安装和运行 Consul # 下载 Consul wget https://releases.hashicorp.com/consul/1.16.2/consul_1.16.2_linux_amd64.zip unzip consul_1.16.2_ 阅读全文
posted @ 2025-07-25 19:37 李若盛开 阅读(88) 评论(0) 推荐(0)
摘要:在 Go 语言中,context 包提供了一种跨 API 和进程边界传递请求作用域值、取消信号以及超时信号的方式。使用 context 可以帮助更好地控制 goroutine,避免 goroutine 泄漏等问题。出现 “context deadline exceeded” 错误通常是因为在请求上下 阅读全文
posted @ 2024-12-06 16:28 李若盛开 阅读(4117) 评论(0) 推荐(0)
摘要:omitempty的作用是在json数据结构转换时,当该字段的值为该字段类型的零值时,忽略该字段。 package main import ( "fmt" "encoding/json" ) type Student struct { Name string `json:"name"` Age in 阅读全文
posted @ 2024-11-29 11:04 李若盛开 阅读(117) 评论(0) 推荐(0)
摘要:Golang性能测试框架k6是一个新兴的性能测试工具,其特点在于使用JavaScript作为测试脚本语言,并且基于Golang的强大性能进行构建。1. 框架基础k6的启动框架使用了Golang的CLI标准框架cobra。cobra是一个用于构建CLI应用程序的库,它提供了丰富的命令解析和参数处理功能 阅读全文
posted @ 2024-09-26 20:24 李若盛开 阅读(212) 评论(0) 推荐(0)
摘要:ants是一个高性能的协程池,实现了对大规模goroutine的调度管理、goroutine复用,允许使用者在开发并发程序的时候限制协程数量,复用资源,达到更高效执行任务的效果。 github主页:https://github.com/panjf2000/ants 功能 1. 实现了自动调度并发的g 阅读全文
posted @ 2024-09-14 21:42 李若盛开 阅读(25) 评论(0) 推荐(0)
摘要:用途 可以无条件地转移到过程中指定的行。该语句通常与条件语句配合使用,可用来实现条件转移,构成循环,跳出循环体等功能,但在结构化程序设计中一般不主张使用goto语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。 语法 1)标签(Label) 标签是标识符后跟冒号,用于标识代码中的某个位置。标 阅读全文
posted @ 2024-08-13 20:36 李若盛开 阅读(337) 评论(0) 推荐(0)
摘要:引入 如下图所示,可能存在来自桌面端和移动端的用户有 1000 的并发请求,同一时刻来访问的获取文章列表的接口,获取前 20 条信息,如果这时服务直接去访问 redis 出现 cache miss, 那就会去请求 1000 次数据库,这时可能会给数据库带来较大的压力(这里的1000 只是一个例子,实 阅读全文
posted @ 2024-08-12 20:26 李若盛开 阅读(294) 评论(0) 推荐(0)
摘要:基本分析 在 Go 底层源码 src/runtime/map.go 中,扩缩容的处理方法是 grow 为前缀的方法来处理的。 其中扩缩容涉及到的是插入元素的操作,对应 mapassign 方法: func mapassign(t *maptype, h *hmap, key unsafe.Point 阅读全文
posted @ 2024-07-16 13:13 李若盛开 阅读(182) 评论(0) 推荐(1)
摘要:一、传统 IF 判断 1、在业务中使用大量的 if 判断 代码如下: package main type SellInfo struct { Price float64 OrderCount int TotalCount int MemberShip int } func main2() { var 阅读全文
posted @ 2024-07-14 20:27 李若盛开 阅读(87) 评论(0) 推荐(0)
摘要:在现代 CPU 架构中,分支预测是为了提高指令执行的效率。然而,如果 if/else 语句的分支走向难以预测,就可能会降低程序效率。这是因为当 CPU 执行到 if/else 语句时,它需要猜测接下来要执行的是 if 分支还是 else 分支。如果 CPU 的预测错误,就需要清空已经预取和执行的部分 阅读全文
posted @ 2024-07-14 20:16 李若盛开 阅读(320) 评论(0) 推荐(0)
摘要:Json 作为一种重要的数据格式,具有良好的可读性以及自描述性,广泛地应用在各种数据传输场景中。Go 语言里面原生支持了这种数据格式的序列化以及反序列化,内部使用反射机制实现,性能有点差,在高度依赖 json 解析的应用里,往往会成为性能瓶颈,从下面的火焰图中可以发现在业务逻辑处理中,有一半多的性能 阅读全文
posted @ 2024-06-01 23:08 李若盛开 阅读(318) 评论(0) 推荐(0)
摘要:在Go语言中,空指针是一个常见的运行时错误来源,它通常发生在尝试访问一个未被初始化或已被设置为nil的指针所指向的值。 1、凡是有点『.』操作的的行为都要先进行非nil判断: 例如,想记录一个err的msg,通过err.Error()就可以获取到err的string类型的错误消息msg,但这里需要对 阅读全文
posted @ 2024-04-25 19:37 李若盛开 阅读(644) 评论(0) 推荐(0)

1 2 3 4 5 ··· 9 下一页