golang
已收录文章:306篇
-
使用自定义bridge网络提升Go微服务通信效率,仅对外暴露必要端口,高并发场景可选host网络模式,并结合HTTPKeep-Alive与超时控制优化性能。183 收藏
-
Go语言中HTTP中间件通过包装http.Handler实现通用逻辑复用,典型应用包括日志、认证、CORS等;中间件以函数形式接收并返回Handler,支持前置后置操作;常用实现有Logging、Auth、CORS中间件;多个中间件可手动嵌套或使用alice库组合,执行顺序从外到内;需注意Header写入时机与OPTIONS预检处理。182 收藏
-
Go语言推荐在函数返回多值时立即检查error,若err不为nil则优先处理错误,避免使用无效结果。核心做法是使用iferr!=nil进行显式判断,确保错误被处理,提升代码健壮性。典型模式为:调用函数后立即检查error,根据err是否为nil决定后续流程。可通过fmt.Errorf配合%w包装错误以添加上下文,使用errors.Is判断是否为特定哨兵错误(如os.ErrNotExist),用errors.As提取自定义错误类型中的信息。常见最佳实践包括:尽早检查并返回错误、保持返回值与错误的一致性、避免182 收藏
-
Golang微服务安全体系以JWT为基础,通过中间件实现统一鉴权,结合OAuth2支持第三方登录,使用mTLS和API网关强化服务间通信安全,确保系统稳定高效。179 收藏
-
Go语言通过net/http包实现Cookie管理,服务端使用http.SetCookie设置、r.Cookie读取,客户端可通过cookiejar自动处理Cookie的存储与发送,支持安全属性配置与自定义策略,便于构建状态保持机制。177 收藏
-
Go语言通过html/template实现安全的HTML模板渲染,防止XSS攻击。首先定义模板内容或从文件加载,使用template.New或ParseFiles创建并解析模板,然后传入数据结构(如struct或map)执行渲染,输出到响应流或标准输出;支持条件判断(if-else)和循环(range)等逻辑控制;结合net/http包可在Web服务中动态返回渲染页面,适用于构建简单动态站点。176 收藏