go

秋说7 小时前
go·内网穿透·goland
从局域网到全球访问:GoLand+cpolar 让开发协作无距离GoLand 作为 Go 语言开发工具,能提供精准的代码建议和实时错误提示,还支持 SSH 远程连接服务器,方便直接在 IDE 里操作远程文件。
HashFlag1 天前
单元测试·go·gomonkey
单元测试-gomonkey项目demo地址:go-test本文主要针对单元测试工具,其他工具请看专栏内其它博客。介绍:gomonkey是一款强大的运行时打桩(Mock)工具/动态 Mock 工具,能够在不修改源代码的前提下,对函数、方法、全局变量等进行动态替换,广泛用于单元测试场景。
HashFlag2 天前
单元测试·go·httptest
单元测试-httptest项目demo地址:go-test本文主要针对单元测试工具,其他工具请看专栏内其它博客。**介绍:**Go 内置标准库net/http/httptest,核心用途用于测试net/http构建的HTTP服务(如API接口、Web服务等),它可以模拟HTTP请求发送和HTTP响应的接收,无需启动真实的HTTP服务器即可完成接口测试,极大提升了测试的便捷性和执行效率
139的世界真奇妙2 天前
经验分享·笔记·golang·go
工作事宜思考点今天直接被前端叼了,是什么原因?因为我自己说不清楚我的立场原因,为什么做这个选择?如果是依靠最小改动原则这个出发点这个根本立不住,从产品层面来分析的话我的方案也可以,前端要的方案也可以。前端的方案对前端友好对后端不友好;我的方案对前端不友好但是后端改动量小;那为什么我做这个选择呢?我没有去深入思考这个点,导致被他的思维和立场牵着走,觉得他的也行;最后在大家第三方观点来看就是他的更合理,我的出发点就是图省事,有性能隐患。因为我对这点不是非常清楚,我也解释不清楚我的选择的原因和逻辑,反而陷入对方的逻辑;这个是
Grassto2 天前
golang·go·go module
16 Go Module 常见问题汇总:依赖冲突、版本不生效的原因本文基于 Go 1.25.0 源码进行分析以下是问题的源码相关分析。最常见的错误之一。当引入一个包,但 go.mod 中没有声明对应的 require 时就会触发。
流浪克拉玛依2 天前
go
从超卖到原子性:Redis Lua 解决秒杀库存扣减实战从超卖到原子性:Redis Lua 解决秒杀库存扣减实战在写秒杀系统的时候,由于多个下单操作之间是并行执行的,就会导致超卖问题,即产品售出超过了产品库存,导致库存变为负数。由于下单操作是并行进行的,单纯的判断库存是否大于0并不能防止超卖现象的发生。不解决超卖问题的后果就是订单多于库存,无法正常发货交货。
怕浪猫3 天前
后端·go·编程语言
第16章:标准库精讲(二)net/http、json、time大家好~ 上一篇我们精讲了Go标准库的基础核心模块,今天继续深挖最常用的3个实用模块:net/http(HTTP客户端/服务端)、encoding/json(JSON编解码)、time(时间处理/定时任务)。
下次一定x3 天前
后端·go
深度解析Kratos服务注册:从框架入口到Consul落地实现在微服务架构中,服务注册是实现服务发现、负载均衡的基础前提,其稳定性直接决定了整个微服务集群的可用性。Kratos 作为开源的高性能微服务框架,其服务注册机制遵循“简洁、解耦、可扩展”的设计理念,深度融合框架自身的函数选项模式,形成了一套从入口初始化到注册中心落地的完整闭环。要彻底理解 Kratos 的服务注册逻辑,我们需从框架入口出发,逐层拆解App实例初始化、服务实例构建、注册接口实现到 Consul 具体落地的每一个核心环节,下文将结合源码逐点剖析,帮你吃透 Kratos 服务注册的底层逻辑(函数选
cppgo4 天前
go
for range的使用注意事项(一)1.在range中修改切片:输出:2.在range中修改数组:输出:range表达式会在for语句开始执行时被求值一次。求值的结果值被传递出来,是值传递(复制)。由于切片是引用类型,所以可以跟随变化。
cppgo4 天前
go
使用bufio Writer时,手动调用Flush()的必要性内容没有写到buf:添加Flush:输出:查看这块的源码:可以看到,只有在buffer写满(默认4KB)后,才会主动调Flush()把buffer内容写入底层io。或者写入的数据很大超过buffer长度,会直接写入底层io。
我叫黑大帅5 天前
后端·面试·go
深入理解Go语言的核心:Type-Value Pair(类型-值对)作为Go语言开发者,你是否在学习接口、反射时感到困惑?比如:为什么空接口interface{}能接收任意类型的值?为什么类型断言有时会失败?为什么反射能“看透”变量的本质?
我叫黑大帅5 天前
后端·面试·go
深入理解Go语言结构体标签:用途、用法与注意事项在Go语言中,结构体(struct)是用于封装数据的核心语法,而结构体标签(Struct Tag)则是附着在结构体字段上的“隐形元数据”——它本身不参与程序的逻辑运行,也不会影响字段的取值和赋值,但在运行时可以通过**反射(reflect包)**被读取和解析,进而实现各类自动化功能。
lifallen5 天前
java·开发语言·数据结构·go
CPU 可见性、乱序执行与 Go 内存模型核心结论先行:“代码顺序” “执行顺序” “观察顺序”。x86 的强一致性(TSO)是“溺爱”,ARM 的弱一致性(Relaxed)才是“现实”。
Grassto5 天前
开发语言·golang·go·go module
14 Go 私有仓库依赖是如何被解析和下载的?本文基于 Go 1.25.0 源码进行分析这四个环境变量共同控制私有仓库的处理:如果只设置了 GOPRIVATE,GONOPROXY 和 GONOSUMDB 会自动使用 GOPRIVATE 的值作为默认值。
怕浪猫5 天前
后端·go·编程语言
第15章、标准库精讲(一)——fmt、os、io、bufioGolang的强大之处,不仅在于其简洁的语法、高效的并发模型,更在于其内置的标准库(Standard Library)——无需额外安装依赖,就能实现格式化输出、文件操作、输入输出、缓冲读写等绝大多数基础开发需求。
研究司马懿6 天前
云原生·go·gateway·k8s·gateway api
【云原生】Gateway API高级功能以下HTTPRoute配置根据查询参数animal的值,将流量分流到两个不同的后端:先部署一下环境
梦想很大很大6 天前
前端·后端·go
使用 Go + Gin + Fx 构建工程化后端服务模板(gin-app 实践)项目地址:github.com/1111mp/gin-…这篇文章并不是一篇“架构设计说明文档”,而更像是一次个人工程探索的记录。
lekami_兰6 天前
数据库·mysql·go·长事务
MySQL 长事务:藏在业务里的性能 “隐形杀手”在 MySQL 数据库的日常运维和开发中,长事务是一个极易被忽视,但却能引发一系列生产环境问题的 “隐形杀手”。尤其是在高并发的业务场景下,一个未及时提交的长事务,甚至可能导致整个数据库服务雪崩。本文将通俗易懂地讲解长事务的定义、引发的核心问题,同时结合实操代码演示长事务的产生与排查,让你彻底搞懂长事务的危害与应对思路。