golang
已收录文章:13848篇
-
GoModules是Golang官方推荐的依赖管理工具,从Go1.11起支持脱离GOPATH管理项目依赖;通过gomodinit项目名在根目录初始化模块,生成go.mod文件记录项目信息与依赖;引入第三方包如import"github.com/gin-gonic/gin"后,运行gomodtidy自动下载依赖并更新go.mod和go.sum文件,依赖包缓存在本地模块缓存中而非项目目录。237 收藏
-
使用Swag工具可实现GolangAPI文档自动化生成与SwaggerUI集成。首先通过goinstall安装Swag,随后在Go代码的Handler函数上添加Swag注释(如@Summary、@Param、@Success等),描述API元信息。接着运行swaginit命令,自动生成docs目录及OpenAPI规范文件(swagger.json/yaml)。然后引入github.com/your_project_path/docs包以加载文档,并集成gin-swagger和swaggo/files库,配280 收藏
-
Go语言中多重赋值可简洁高效地初始化变量、交换值及处理多返回值函数。1.支持多变量同时赋值:a,b:=10,20;2.变量交换无需临时变量:a,b=b,a;3.适用于函数多返回值接收:value,err:=func()。该特性提升代码清晰度与简洁性,是Go日常开发中的实用语法。325 收藏
-
Go语言通过接口隐式实现多态,无需继承;只要类型实现接口所有方法即视为实现该接口。例如Shape接口定义Area方法,Rectangle和Circle分别实现后,可统一通过PrintArea函数调用,体现多态性。接口组合通过嵌套接口扩展功能,如Animal接口组合Speaker和Mover并添加Name方法,任何实现这三个方法的类型自动实现Animal。空接口interface{}或any可接收任意类型,配合类型断言或switch提取具体类型。这种设计以方法签名为核心,提升代码复用性与抽象能力,使程序更易458 收藏
-
用channel替代锁可提升高并发性能。通过将共享变量的修改封装为函数并发送到channel,由专用goroutine串行处理,避免多协程直接竞争锁,从而降低阻塞和上下文切换开销,提高吞吐量。174 收藏
-
Go语言中SHA256哈希操作通过crypto/sha256包实现,1.可用sha256.Sum256([]byte(data))直接计算字符串哈希值;2.通过sha256.New()创建hash.Hash接口,支持Write分块写入,适合流式处理;3.密码存储时可加salt增强安全性,但应优先选用bcrypt等专用算法。228 收藏