golang
已收录文章:317篇
-
使用os.MkdirAll可递归创建多级目录,filepath.Walk能深度优先遍历目录结构,二者结合可用于初始化项目路径并处理文件,如定期清理过期日志。350 收藏
-
通过复用对象、预分配切片、避免字符串拼接和控制变量逃逸可减少内存分配;使用sync.Pool缓存临时对象,预设切片容量避免多次扩容,用strings.Builder高效拼接字符串,避免局部变量逃逸至堆,结合pprof分析热点,显著降低GC压力,提升Go程序性能。476 收藏
-
合理选择值类型与指针参数可提升Go程序性能和清晰度。1.值传递复制对象,适用于小对象或不可变场景;2.指针传递复制地址,适用于大结构体或需修改原值;3.函数可混合使用值和指针参数,如UpdateUser(idint,u*User,isActivebool);4.建议统一方法接收者与参数类型,保持团队代码风格一致;5.尽管slice、map底层共享,但需整体替换时仍应使用指针。根据语义与性能需求权衡选择,使代码更安全高效。238 收藏
-
使用Golang管理ContainerRegistry镜像主要通过调用RegistryAPI或借助go-containerregistry库实现;1.利用net/http发送GET请求获取镜像标签列表;2.通过/v2/name/manifests/tag获取摘要信息;3.使用DELETE方法删除镜像(需启用删除支持);4.go-containerregistry库简化了镜像拉取、推送等操作,无需Dockerdaemon;5.对于AWSECR,需通过AWSSDK获取临时Token并用于BasicAuth;6211 收藏
-
答案:Go中字符串拼接应根据场景选择方法:少量拼接用+,格式化用fmt.Sprintf,大量拼接用strings.Builder,切片合并用strings.Join,以提升性能和内存效率。462 收藏
-
答案:本文介绍Windows下快速搭建Golang开发环境的完整流程。1.从官网下载Go安装包并默认路径安装,自动配置PATH;2.通过goversion和goenv验证安装与环境变量;3.推荐使用GoModules管理依赖,可自定义GOPATH并添加到系统PATH;4.创建main.go文件,使用gorun运行程序,gobuild生成可执行文件;配合VSCode插件可获得完整开发体验。410 收藏