golang
已收录文章:14172篇
-
数组传参是值传递,函数内修改不影响原数组;切片传参共享底层数组,修改通常影响原切片,但扩容可能导致底层数组分离,从而不影响原切片。460 收藏
-
在Golang的gRPC流式通信中,必须通过context.Context处理异常。应监听上下文取消或超时,及时释放资源,设置合理超时,避免连接长时间挂起,并在goroutine中通过context控制生命周期。245 收藏
-
答案:在Golang数据库操作中,需始终检查error以保障稳定性,常见错误包括连接失败、SQL语法错误、约束冲突、超时及Scan异常;使用errors.Is判断如sql.ErrNoRows等特定错误,用errors.As提取驱动级错误(如MySQL的1062唯一键冲突);结合context控制超时与链路追踪,区分可恢复与致命错误,避免忽略或泛化处理,确保数据一致与服务健壮。399 收藏
-
答案:Go中strconv包用于高效转换字符串与数字。使用Atoi和ParseInt将字符串转整数,Itoa和FormatInt将整数转字符串,ParseFloat和FormatFloat处理浮点数,ParseBool和FormatBool转换布尔值,均需注意进制、精度及错误处理,性能优于fmt.Sprintf。163 收藏
-
在Go中实现容器健康探针需提供HTTP接口,常用/healthz和/readyz分别处理存活与就绪检查,返回200表示正常,结合net/http或Gin框架可快速实现,Kubernetes通过配置livenessProbe和readinessProbe调用对应路径,确保服务状态准确判断。456 收藏
-
sync.Pool通过对象复用减少内存分配,降低GC压力,适用于短生命周期且频繁创建的对象如*bytes.Buffer;使用时需重置状态,不保证对象留存,合理应用可显著提升高并发场景下的性能。166 收藏