golang
已收录文章:167篇
-
select语句是Go语言多路复用核心机制,通过类似switch结构处理多个channel的发送或接收操作,实现非阻塞并发通信,提升程序并发效率与响应能力。483 收藏
-
享元模式通过共享内在状态减少内存使用,Golang中结合工厂模式与并发安全map实现对象复用,适用于大量相似对象场景,显著降低GC压力,但增加设计复杂性。481 收藏
-
使用接口抽象或输出重定向可有效测试Go日志。1.定义Logger接口并注入,测试时用MockLogger捕获输出;2.重定向标准log到buffer进行断言,需注意并发安全;3.第三方库如zap提供zaptest等工具支持精细控制与自动验证,提升可观测性。450 收藏
-
使用os.Stat配合os.IsNotExist可判断文件是否存在:若err为nil则文件存在,os.IsNotExist(err)为true则不存在,否则可能是权限等问题。266 收藏
-
答案:使用Golang结合net/http和goquery库可轻松实现网页标题与链接抓取。首先通过http.Get发起请求,再用goquery解析HTML,利用类似jQuery的选择器查找a[href^='/pkg']元素,提取文本与href属性并拼接完整链接,最后打印输出。示例以https://pkg.go.dev为目标站点,每条结果按序号展示标题和链接。需注意选择器准确性、添加错误处理、遵守robots.txt及控制请求频率。可扩展为保存至文件或支持命令行参数。248 收藏
-
答案是使用Golang标准库实现一个简洁的CLI记账工具,通过Record结构体存储账目,JSON文件持久化数据,flag解析命令行参数,支持添加、列出、统计功能,程序启动时加载ledger.json,退出时保存,用os.Args判断子命令,add命令添加带ID和时间的记录,list显示所有条目,balance计算收入与支出差额,核心逻辑清晰可扩展。465 收藏