
golang
LeonNo11
Java,python,golang,AI
企业数字化转型,研发经理,团队管理,方案设计
持续学习输出。
展开
-
golang编写UT:applyFunc和applyMethod区别
方法Mock 目标使用示例ApplyFunc普通函数结构体方法ApplyFunc适用于:Mock全局函数适用于:Mock某个结构体的实例方法。原创 2025-03-25 21:15:33 · 367 阅读 · 0 评论 -
go test相关命令
在 Go 项目中,go test可以用于运行整个工程中的测试文件。原创 2025-03-25 19:08:13 · 380 阅读 · 0 评论 -
Gentleman:优雅的Go语言HTTP客户端工具包
依赖于标准库:尽管提供了高级抽象,但Gentleman是基于Go的net/http标准库构建的,因此保持了良好的idiomatic特性,易于理解和使用。插件驱动架构:Gentleman的核心特点是其插件系统,允许用户注册和重用各种自定义插件,如重试策略或动态服务器发现,以增强HTTP客户端的功能。req.Use()只对该请求生效,在本例中使用req.Use(body.JSON(data))也是可以的。区别在于cli.Use()调用之后,所有通过该cli创建的请求对象都使用该插件;对响应对象res进行处理。原创 2025-02-17 22:54:37 · 571 阅读 · 0 评论 -
fx简单学习应用。
fx是一个golang的依赖注入框架,主要的内容有几个注入方法,以及钩子函数。下面是最简单的demo使用。原创 2025-01-15 17:38:43 · 465 阅读 · 0 评论 -
golang 自定义错误
golang中,值要实现了Error接口,那么就可以被认为是一个异常。原创 2024-12-26 22:04:30 · 185 阅读 · 0 评论 -
vscode中debug golang代码异常
通常需要指向go clean -cache后可以解决,原因是修改代码后,和缓存的代码不一致引起。原创 2024-12-26 22:03:41 · 124 阅读 · 0 评论 -
vscode中debug golang代码异常
通常需要指向go clean -cache后可以解决,原因是修改代码后,和缓存的代码不一致引起。原创 2024-12-25 23:24:27 · 174 阅读 · 0 评论 -
主流的golangweb框架有那些
目前Gin很火,公司内部使用Echo和Beego,其它的基本没听过。Gin的特点是快,处理大量请求,看到腾讯的公众号中有介绍。选择框架时,应考虑项目需求,包括速度、功能、可扩展性和社区支持等因素。每个框架都有其优势,因此应选择最适合项目需求的框架。原创 2024-12-25 23:23:26 · 929 阅读 · 0 评论 -
golang,多个proxy拉包的处理逻辑
当Go工具链尝试安装一个模块时,如果所有的GOPROXY代理都失败了,它会尝试直接从模块的源代码仓库中克隆代码。这意味着,如果模块的源代码托管在Git仓库中,Go工具链可以直接从该仓库克隆代码,即使代理不可用。在Go语言的上下文中,当提到“源代码仓库”时,通常指的是Go模块的源代码仓库。Go模块是Go语言的依赖管理工具,它允许开发者定义和管理项目的依赖关系。如果第一个代理失败,它会尝试下一个代理,直到成功获取到模块或者所有代理都尝试失败。,如果这两个代理都失败了,最后它会直接从源代码仓库获取模块。原创 2024-12-25 23:15:35 · 486 阅读 · 0 评论 -
golang,实现死循环
【代码】golang,实现死循环。原创 2024-12-25 22:38:24 · 130 阅读 · 0 评论 -
golangb并发,Sync包中Mutes,WaitGroup, NewCond的适应
几个demo来学习和演示sync包的使用。原创 2024-12-25 22:30:05 · 314 阅读 · 0 评论 -
golang编写测试用例
命名Test后的第一个字母必须大写,否则无法识别为测试,参数*testing.T。原创 2024-12-25 14:04:26 · 368 阅读 · 0 评论 -
golang , chan学习
带容量的chain,如果满了,那么发送的时候会阻塞,如果空了,那么接受的时候会阻塞。管道是阻塞的,管道的写法,管道内容读取,和写入。原创 2024-12-24 22:30:34 · 495 阅读 · 0 评论 -
golang,数组和切片demo
【代码】golang,数组和切片demo。原创 2024-12-23 23:24:28 · 116 阅读 · 0 评论 -
golang 指针demo
指针最好不要嵌套,也就是不要使用一个指向指针的指针,虽然 Go 语言允许这么做,但是这会使你的代码变得异常复杂。如果是比较大的结构体,每次参数传递或者调用方法都要内存拷贝,内存占用多,这时候可以考虑使用指针;如果需要并发安全,则尽可能地不要使用指针,使用指针一定要保证并发安全;不要对 map、slice、channel 这类引用类型使用指针;如果需要修改参数的值或者内部数据时,也需要使用指针类型的参数;如果需要修改方法接收者内部的数据或者状态时,需要使用指针;原创 2024-12-23 23:19:31 · 244 阅读 · 0 评论 -
golang, go sum文件保证下载的依赖模块是一致的
文件是 Go 模块管理的一部分,主要用于记录模块的校验信息(模块版本的校验和)。文件记录了项目所依赖的每个模块的校验和(hash 值)。当开发者在不同环境或不同机器上运行。文件记录了所有直接和间接依赖模块的版本校验信息,包括模块的子依赖。它在 Go 模块管理中扮演着关键角色,使团队开发和模块依赖的管理更加可靠和安全。供应链攻击是指攻击者篡改依赖库的内容(如恶意代码插入)。文件验证下载的依赖模块是否与记录的版本一致。中的校验和确保缓存的模块内容未被修改。中的校验和记录确保模块内容未被篡改。原创 2024-12-23 22:10:33 · 402 阅读 · 0 评论 -
golang,gowork工具
工作区是一个虚拟的开发环境,用于管理多个 Go 模块的协作开发。通过工作区,开发者可以同时引用和修改多个模块,而无需将它们安装到。原创 2024-12-21 13:27:51 · 1671 阅读 · 3 评论 -
golang异常
error.wrapof解决嵌套问题或者error.unwrap。err断言,err.(*error), errors.As断言。统一返回error,处理逻辑放到没喝多方法,本质还是顺序执行。defer recover可以处理这种情况。panic如果不处理会导致应用进程挂掉。erroe.is方法,判断是否同一个0。不影响程序运行,不要使用panic。一个recover只处理自己协程。错误,error接口,不严重。函数式编程处理✘.没看懂。产生panic的情况。空map中添加键值对。原创 2024-12-20 23:27:14 · 219 阅读 · 0 评论 -
golang模块管理
go mod tidy 会自动给我们维护依赖。init函数,随机执行在包中,避免有依赖。通过首字母大写控制是否可被其它模块使用。goprivate来拉取公司制品库。go get -u安装模块。gomod就是一个项目。一个文件夹是一个模块。编译至少需要多少版本。原创 2024-12-20 23:39:10 · 122 阅读 · 0 评论 -
golang如何调试,每次编写main函数?
众所周知,golang在一个包里面只能由一个main函数可以直接执行,如果你在测试demo的时候,一个文件夹下面可能有多个文件,此时镜像测试就十分麻烦?原创 2024-12-18 23:06:45 · 241 阅读 · 0 评论 -
golang学习,小结
返回类型make返回引用类型实例,new返回指针。初始化make进行类型初始化,new进行零值初始化。内存分配make分配并初始化内存,new仅分配内存。通过掌握这些核心概念,你可以快速理解在Go语言中使用make和new创建map的区别。原创 2024-12-05 23:39:20 · 777 阅读 · 0 评论 -
golang代码学习,枚举和接口实现
golang定义Interface和Struct,方法。原创 2024-12-03 23:06:59 · 158 阅读 · 0 评论 -
golangclean-cache, modcache sumdb等配置
这些命令主要用于管理 Go 项目的编译缓存、模块缓存以及依赖校验行为,帮助开发者在不同环境中灵活配置和优化项目构建过程。下载的依赖模块的副本。原创 2024-12-03 22:48:49 · 423 阅读 · 0 评论 -
golang,重命名文件,使用通配符删除文件,踩坑!
2、重命名文件要用这个API;os.Rename(oldName, newName)1、注意,无法通过:os/exec来通过通配符删除文件!原创 2024-11-14 19:32:11 · 146 阅读 · 0 评论