如何在Alpine容器优化Golang编译 减小最终镜像体积的技巧
使用多阶段构建分离编译和运行环境,清理冗余内容,避免不必要的依赖,合理使用.dockerignore。1. 使用多阶段构...
使用多阶段构建分离编译和运行环境,清理冗余内容,避免不必要的依赖,合理使用.dockerignore。1. 使用多阶段构...
go语言中compress/gzip和compress/zlib均基于deflate算法,gzip适用于文件和http压...
go语言中time.time设计为不可变值类型而非指针,1.确保并发安全,因副本传递避免数据竞争;2.防止空指针和意外修...
tcp粘包问题的解决方法包括定长包法和分隔符法。1. 定长包法:发送方每次发送固定长度的数据,接收方按固定长度读取,适用...
在golang中,reflect.new用于根据类型信息创建新实例。其基本用法是传入非指针类型的reflect.type...
在golang微服务中,应通过统一错误响应结构、分层错误码设计、封装apperror类型、控制跨服务错误传递、集成链路追...
使用channel实现发布订阅模式的核心在于维护订阅者列表并解耦发布者与订阅者。1. 通过map存储主题与订阅者chan...
golang 1.13 引入的 errors.is、as 和 unwrap 方法提升了错误处理能力。01. is 用于判...
在golang中编写单元测试的核心方法是使用内置的testing包,遵循文件命名和函数签名约定。首先,创建以_test....
在 go 语言中,反射通过接口获取运行时的类型和值信息,因为接口变量内部包含动态类型和动态值两个指针,当调用 refle...