golang
已收录文章:1198篇
-
Protobuf性能最优,适合RPC;MessagePack次之,兼顾性能与灵活;Gob适用于Go内部通信;JSON最慢但兼容性好,适合调试和对外API。293 收藏
-
合理分配虚拟机CPU、内存和磁盘资源以支持Go高并发性能需求;2.调整GOGC、GODEBUG等运行时参数优化垃圾回收与调度;3.通过静态编译、禁用调试信息和交叉编译提升部署效率;4.调优操作系统文件描述符、网络缓冲区和关闭透明大页以减少性能损耗。121 收藏
-
核心区别在于是否修改原数据及是否发生拷贝。值接收者传递副本,方法内修改不影响原值,适用于小型结构体和无需修改状态的场景;指针接收者传递地址,可直接修改原数据,适合大型结构体或需变更状态的方法。Go自动处理指针与值的调用转换,但语义不同:值接收者强调无副作用,指针接收者支持修改且避免复制开销。选择依据是修改需求、数据大小和接口一致性,性能影响主要体现在大对象拷贝成本。460 收藏
-
Golang云原生安全加固需构建纵深防御体系:1.代码层面通过gomod管理依赖、govulncheck扫描漏洞、严格输入验证、安全错误处理和代码审计提升安全性;2.镜像层面选用官方镜像、多阶段构建精简内容、使用Trivy等工具扫描漏洞并签名镜像确保来源可信;3.运行时以非root用户运行、限制资源使用、部署安全策略(如AppArmor)并监控异常行为;4.应对DDoS攻击采用流量清洗、负载均衡、速率限制、连接数控制和防火墙规则;5.身份验证与授权支持OAuth2.0、JWT、RBAC及APIGatewa163 收藏
-
Go语言提供多种语法糖以提升代码简洁性与可读性。1.短变量声明(:=)用于局部变量快速初始化,如x:=10;2.多重赋值支持多返回值接收与下划线忽略机制,如_,err:=os.Open("file.txt");3.复合字面量实现结构体、切片、map的简写初始化,如p:=Person{Name:"Alice",Age:30};4.range迭代支持索引和值的灵活遍历,可用_忽略不需要的部分;5.方法值允许将方法绑定为函数值,如f:=obj.Method,便于回调使用;6.可变参数函数用...int接收可变数190 收藏
-
通过runtime.Stack()获取goroutine堆栈快照,可排查卡死、高延迟或泄漏问题,是定位并发异常的关键步骤。121 收藏