golang
已收录文章:14136篇
-
使用context控制超时是Go中保障HTTP服务稳定的关键。通过context.WithTimeout创建带时限的上下文并传递给HTTP请求,可避免因后端延迟导致资源耗尽。示例中向延迟2秒的接口发起请求,但设置500毫秒超时,最终请求中断并返回“contextdeadlineexceeded”错误。此外,可通过http.Client的Timeout字段设置整体超时,适用于静态超时场景。在Web中间件如Gin中,也可利用context控制处理函数执行时间,结合goroutine与select实现超时响应,370 收藏
-
函数返回非nilerror时主值应视为无效,正确做法是失败时返回nil主值和错误,成功时返回值和nil错误,如os.Open等标准库函数所示,确保调用方能安全依赖err判断结果有效性。370 收藏
-
首先,将Golang微服务部署到Kubernetes需通过容器化应用并利用Kubernetes编排能力实现自动化管理。具体包括:编写Dockerfile进行多阶段构建,生成轻量、安全的镜像;将镜像推送到注册中心;使用Deployment定义Pod副本、资源限制及健康探针,确保高可用;通过Service提供稳定网络端点,支持内部或外部访问。结合CI/CD可实现全流程自动化,提升部署效率与系统韧性。1.构建阶段使用golang:1.22-alpine编译应用,禁用CGO生成静态二进制;2.运行阶段基于alpi370 收藏
-
版本更新 最近 GScript 更新了 v0.0.11 版本,重点更新了: Docker 运行环境新增了 byte 原始类型新增了一些字符串标准库 Strings/StringBuilder数组切片语法:int[] b = a[1: len(a)]; 引言 前段时间发布了 GScri369 收藏
-
简介 本文主要通过探究在golang 中map的数据结构及源码实现来学习和了解map的特性,共包含map的模型探究、存取、扩容等内容。欢迎大家共同讨论。 Map 的底层内存模型 在 golang 的源码中表示 map369 收藏
-
编译自 Custom JSON Marshalling in Go。 如果你为类型实现了MarshalJSON() ([]byte, error)和UnmarshalJSON(b []byte) error方法,那么这个类型在序列化反序列化时将采用你定制的方法。 这些都是我们常用的设置369 收藏