Go
文章平均质量分 79
追风2019
杜绝纸上谈兵,实干才是硬道理!
展开
-
Go 版本升级 | 统计 Github 社区 Go 版本分布情况
因为最近三年用的 Go 版本是 1.16,但最新的版本升级到了 1.23,很多依赖的三方包最新文件都已经升级,使用了泛型以及 GO 新版本的特性,导致我只能适配 Go1.16 的三方包旧版本,但这种问题发生的频率多了后,自然就感觉到了麻烦和落后,所以打算升级 Go 版本。但升级到哪个版本?我的考虑的重心有一点在于主流 Go 服务在用哪个版本。而社区环境,最佳的选择当然是 Github。所以,首先目标是统计 Github 上 Go 项目中使用的版本分布情况。原创 2024-10-25 13:53:55 · 832 阅读 · 0 评论 -
Golang 代码质量检查工具 | golangci-lint
本文介绍了Golang代码质量检查工具golangci-lint,它集成了多个linter和静态分析工具,支持自定义配置,能快速反馈代码问题,易于集成到CI/CD流程,并提供丰富的检查规则。安装可通过go install命令或官方二进制文件,需注意版本匹配。使用golangci-lint有助于提高代码质量,统一编码规范,减少技术债务,提高开发效率,并促进团队协作原创 2024-10-17 18:57:09 · 883 阅读 · 0 评论 -
Windows 下 golang 多版本管理
本文介绍了在Windows环境下管理多个版本的Golang的方法。首先,需要下载不同版本的Golang安装包,并修改目录名称。接着,通过添加GPPATH环境变量、配置PATH环境变量以及在命令行和Goland中设置go env环境,实现多版本共存。此外,还提到了官方建议和使用g工具进行版本管理的方法。作者通过这些步骤解决了特定框架在不同Golang版本间的兼容性问题。原创 2024-10-17 18:29:54 · 1332 阅读 · 0 评论 -
vue + axios 通过 S3 预签名地址上传文件
如果业务中用到了 S3,那文件的上传下载必然是最基础的功能,但如果直接通过 Upload 方法上传文件,会存在非常大的安全隐患,所以普遍做法是后端提供文件上传预签名地址,前端根据预签名地址进行文件上传操作。一、后端生成预签名地址根据后端语言的不同种类,使用不同的 SDK,这里示例采用 golang 生成 S3 文件上传预签名地址:package mainimport ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/..原创 2021-03-01 18:27:19 · 3176 阅读 · 5 评论 -
Golang 解决 Map 并发读写安全问题
fatal error: concurrent map writes原创 2020-06-13 11:15:53 · 3048 阅读 · 3 评论 -
Golang 操作 Map 错误记录(指针类型变量赋值问题)
一、错误代码示例package mainimport ( "fmt" "time")type TestUser struct { Name string Age int}type TestData struct { Data map[string]interface{} Sort int}var TestChan chan *TestDatafunc init() { TestChan = make(chan *TestData, 100) Start()}原创 2020-06-12 20:59:29 · 1544 阅读 · 0 评论 -
Goland 使用入门
之前从事php开发一直习惯使用sublime,主要喜欢它启动快捷,设计简洁,代码高亮醒眼漂亮等方面,插件也满足开发的需求,但随着项目越来越多,sublime经常保存时闪退,加上go是强类型语言,各个函数参数类型比较多,sublime + gosublime也满足不了直接查看变量类型的需求,所以专门花一天时间把Goland摸熟,在此总结。2. 查找文件:ctrl + shift + n 或 双击shift。7. 快捷生成err错误判断代码:err + tab。1. 代码折叠:ctrl + “+ / -”原创 2019-11-22 09:42:58 · 249 阅读 · 1 评论