golang
已收录文章:14425篇
-
正文 不变性的概念非常简单,在您创建结构体后,就永远无法修改它。这个概念听起来非常简单,但您的程序想利用它从中收益并不是那么容易。接下来我们在 Go 中,使用不变性概念,来让您398 收藏
-
Hpack 是啥 Hpack 是 HTTP2 的头部压缩算法。在 HTTP1 中,每次传输都会有大量的 Header 携带,我们可以拿一个实际的请求来看,如图一: 图一:请求 header 这里面 Header 很多是请求共性的,比如 method398 收藏
-
retry.Attempts(3)表示总共执行3次(含首次),即最多重试2次;需写retry.Attempts(4)才能重试3回;必须配retry.Context(ctx)响应取消、retry.DelayType(retry.BackOffDelay)启用指数退避、retry.RetryIf过滤错误,且HTTP重试须克隆Body并区分临时性错误。397 收藏
-
Golang中实现Web模板多语言切换需分离语言内容与模板逻辑,通过JSON/YAML存储多语言资源、启动时加载到内存映射、按URL参数/Cookie识别语言、注册模板翻译函数t实现动态渲染。397 收藏
-
在Golang中遍历指针数组时,需通过解引用访问实际值。声明如varptrArray[3]*int并初始化后,可用for-range遍历:获取指针地址用%p,解引用*ptr读写原值,注意避免nil解引用和修改range副本指针。397 收藏
-
Golang网络编程的核心是net包,它支持TCP、UDP、IP和Unix域套接字等协议。通过net.Listen监听端口,Accept接受连接,并使用goroutine并发处理多个客户端请求,实现高效服务器。TCP提供可靠连接,适用于Web服务和数据库通信;UDP无连接,适合实时性要求高的场景如游戏和视频流;IP协议用于底层网络工具开发;Unix域套接字则用于本地进程间高速通信。并发处理通过goroutine实现,每个连接由独立goroutine处理,提升吞吐量。为保证程序健壮性,需设置SetReadD397 收藏