白话Go内存模型Happen-Before
当多个goroutine并发同时存取同一个数据时必须把并发的存取操作序列化。在Go中保证读写的序列化可以通过channel通信或者其他同步原语(例如sync包中的互斥锁、读写锁和sy.........
当多个goroutine并发同时存取同一个数据时必须把并发的存取操作序列化。在Go中保证读写的序列化可以通过channel通信或者其他同步原语(例如sync包中的互斥锁、读写锁和sy.........
今天我们要实现的函数功能是:对 map 里所有的 value 求和。非泛型函数如果没有泛型该如何实现呢?因为 value 可能会有不同的类型,比如:int64、float64 等,没有泛型的话,针对不.........
如果有个 Go 开发需求:获取主机的硬盘、CPU、内存、进程等使用情况,你会怎么做?比较朴素的想法是通过 os/exec 去执行某些例如 ps、cd、top 命令,之后解析它们的执行结果。.........
upgrade 命令后使用 Go 语言实现了自己的 upgrade 命令。获取最新版本我们先来看下 Deno 的源码:use deno_runtime::deno_fetch::reqwest::Client;
const RELEASE_URL: ...
我们在开发 Go 项目时,经常会使用到一些外部依赖包。它们一般都是通过形如go get example.com/xxx的命令形式获取到本地使用。本着开源精神,如果我们想将自己开发的包共享.........
开发过程中,我们经常会使用 JSON 作为数据传输格式。而这离不开对 JSON 数据的编解码工作,在 Go 中,encoding/json 包提供了这些能力。我们可以使用 encoding/json 包的 En.........
数据帧HTTP2通信的最小单位是数据帧,每一个帧都包含两部分:帧头和Payload。不同数据流的帧可以交错发送(同一个数据流的帧必须顺序发送),然后再根据每个帧头的数据流标识符.........
启示代码我们直接看一段代码type MyselfError struct{}func (m *MyselfError) Error() string {return 实现 error 接口的 Error 方法
}func someWork() *Mysel...
今天在知乎上看到了一个关于 Go 和 Java 性能对比的问题,这种问题通常只有一个结局,那就是无休止的争论,十年之后,如果这两个语言还健在的话,这可能依然是热门问题:抛开应用场.........
我们知道,Go 的语法比较简洁。它并不提供类似 C 支持的 while、do...while 等循环控制语法,而仅保留了一种语句,即 for 循环。for i := 0; i n; i++ {... ...
}但是.........
Go内存模型明确指出,一个goroutine如何才能观察到其他goroutine对同一变量的写操作。当多个goroutine并发同时存取同一个数据时必须把并发的存取操作序列化。在Go中保证.........
今天我们介绍一个在 Go 语言中非常流行的编程模式:函数式选项模式(Functional Options)。该模式解决的问题是,如何更动态灵活地为对象配置参数。可能读者不太明白该痛点,不急.........
什么是SSRFSSRF英文全拼为Server Side Request Forgery,翻译为服务端请求伪造。攻击者在未能取得服务器权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务.........
如何在Go中使用http.Transport进行HTTP长连接的管理与控制?在进行HTTP请求时,建立长连接可以显著提升请求的性能和效率。Go语言中提供了http.Transport来管理和控制HTTP长.........
Go中如何使用context实现请求参数转换引言:Go是一种强大的编程语言,非常适合构建高效的Web应用程序。在Web开发中,处理请求参数是一个常见的任务。在许多情况下,我们需要将.........
如何在Go中使用http.Transport实现对请求的失败次数限制介绍:Go语言是一门强大的编程语言,提供了许多用于构建网络应用的包和功能。其中,http包是Go语言中用于处理HTTP请.........
如何使用Go的SectionReader模块实现文件指定部分的内容合并与去重?Go语言中的SectionReader模块提供了一种方便的方式来读取文件的指定部分内容。结合该模块,本文将介绍如.........
如何在Go中利用SectionReader模块实现文件指定区间的读写操作?在Go语言中,文件是一种重要的数据源。在处理文件时,我们常常需要对文件进行特定区间的读写操作。Go标准库的S.........
如何利用Go的SectionReader模块实现文件指定部分的内容加密与解密?引言:在开发中,文件的内容加密与解密是一个很常见的需求。Go语言提供了丰富的库和模块来满足这一需求。.........
如何在Go中使用context实现请求唯一性校验概述:在开发Web应用程序时,我们经常需要处理并发请求,特别是涉及到关键操作和资源的修改。在这种情况下,我们需要确保每个请求只.........
Go的SectionReader模块应用指南:如何实现文件指定部分的合并与拆分操作?引言:Go语言作为一门开源的编程语言,拥有着丰富的功能模块和库,方便开发者处理各种复杂的问题。其中.........
Go中如何使用context实现请求缓存引言:在构建Web应用程序时,我们经常需要对请求进行缓存以提高性能。在Go语言中,我们可以使用context包来实现请求缓存的功能。本文将介绍.........
如何使用Go和http.Transport实现带有Cookie的网络请求?在网络通信中,Cookie经常被使用来传递会话信息和身份验证。Go语言中的http包提供了一个http.Transport结构体来处理.........
如何在Go中使用http.Transport实现对大文件的断点续传?在网络传输过程中,对于大文件的传输往往需要耗费较长的时间,为了提高传输的效率和稳定性,断点续传技术成为一种常见的.........
如何在Go中使用SectionReader模块实现文件指定区域的内容识别与提取?导读:在Go语言中,SectionReader模块是一个实现了io.ReaderAt接口的结构体,它可以对一段数据进行随机访.........