GoLang unsafe包详细讲解
目录1.前言2.指针类型转换3.指针运算4.获取大小和偏移5.关于string1.前言开发中,[]byte类型和string类型需要互相转换的场景并不少见,直接的想法是像下面这样进行强制类型转换...
目录1.前言2.指针类型转换3.指针运算4.获取大小和偏移5.关于string1.前言开发中,[]byte类型和string类型需要互相转换的场景并不少见,直接的想法是像下面这样进行强制类型转换...
目录1.介绍切片并发问题2.实践检验真理3.回答切片并发安全问题4.解决切片并发安全问题方式5.附1.介绍切片并发问题关于切片的,Go语言中的切片原生支持并发吗?2.实践检验真理实...
目录一 概念二 go-zero中的滑动窗口实现1.Bucket 样本窗口2. window 滑动窗口3. RollingWindow窗口三 使用一 概念固定窗口就像是滑动窗口的一个特例,固定窗口是大小固定且不...
目录前言Demo示例源码实现结构体 Cron 和 EntryNew()实现AddFunc()实现Start()实现Run()实现Stop()实现Remove()实现小结前言golang实现定时任务很简单,只须要简单几步代码即...
go版本本文go版本是1.14,开启 GO111MODULE="on"经常在go.mod里面看到引入第三方库的版本号:module testgo 1.14require github.com/jinzhu/copier v0.3.5 // indirect可以看到...
目录正文结论:正文golang版本:1.16背景:golang进程在docker中运行,因为使用内存较多,经常在内存未达到docker上限时,就被oom-kill,为了避免程序频繁被杀,在docker启动时禁用了oom-ki...
目录前言interface数据结构ifaceeface总结前言在 Go 语言没有泛型之前,接口可以作为一种替代实现,也就是万物皆为的 interface。那到底 interface 是怎么设计的底层结构呢?下面...
目录引言如何在Go中循环字符串如何在Go中循环map结构如何在Go中循环Struct结论引言数组是存储类似类型数据的强大数据结构。您可以通过索引识别和访问其中的元素。在Golang...
关于 channel 的使用,有几点不方便的地方:1.在不改变 channel 自身状态的情况下,无法获知一个 channel 是否关闭。2.关闭一个 closed channel 会导致 panic。所以,如果关闭 chan...
目录defer的执行顺序defer与return谁先谁后函数的返回值初始化有名函数返回值遇见defer情况defer遇见panicdefer中包含panicdefer下的函数参数包含子函数defer面试真题defer...
目录正文环境配置API编程常用APIOpenVideoCaptureVideoCaptureDeviceVideoCaptureFileNewWindowSetWindowTitleNewMatNewMatWithSizeNewMatFromScalarNewCascadeClassifierL...
目录什么是内存逃逸分析为什么需要逃逸分析如果变量放错了位置会怎样内存逃逸场景return 局部变量的指针interface{} 动态类型栈空间不足闭包性能最后什么是内存逃逸分析内...
目录单例模式的概念单例模式结构单例模式的使用场景单例模式例子:特殊的计数器第一个单元测试单例模式实现单例模式优缺点单例模式的概念单例模式很容易记住。就像名称一样,它...
目录1、panic2、包装错误3、错误类型判断4、错误值判断1、panic当我们执行panic的时候会结束下面的流程:package mainimport "fmt"func main() { fmt.Println("hello") panic...
目录1.前言2.函数声明2.1 函数例子2.2 Go 函数支持多返回值2.3 变量函数2.4 闭包2.5 递归3.总结1.前言函数是一段代码的片段,包含连续的执行语句,它可以将零个或多个输入参数...
本文是 《用 Golang 实现一个 Redis》系列文章第二篇,本文将分别介绍Redis 通信协议 以及 协议解析器 的实现,若您对协议有所了解可以直接阅读协议解析器部分。Redis 通信协议...
目录正文使用方法创建Informer工厂创建对象Informer结构体注册事件方法启动Informer机制解析ReflectorControllerProcesser & ListenerIndexer总结正文Kubernetes的控制器模...
目录基本介绍使用源码分析AddDoneWait注意事项基本介绍WaitGroup是go用来做任务编排的一个并发原语,它要解决的就是并发 - 等待的问题:当有一个 goroutine A 在检查点(checkpoi...
目录需求目的需求分析需求写一个简版类似于unix tree命令的go语言小程序,如下参数仿照于tree命令的文档该小程序支持的功能如下:mtree命令默认打印以层级结构打印所有目录和文...
目录前言new的使用底层实现make的使用底层实现总结前言在Go语言中,有两个比较雷同的内置函数,分别是new和make方法,二者都可以用来分配内存,那他们有什么区别呢?对于初学者可能会...
目录背景排查问题解决问题背景在实现图片转码的需求时,需要支持最大 500 个图片下载后转换格式;如果是一个一个下载后转码,耗时太长,需要使用 goroutine 实现 500 个图片并发下...
目录如何Golang快速构建一个CLI小工具先上效果那么如何实现呢?如何Golang快速构建一个CLI小工具在现实开发的过程中,大家会发现很多开源的框架都会有着自己的一个CLI工具库来...
我们在使用Golang时,不可避免会遇到异常情况的处理,与Java、Python等语言不同的是,Go中并没有try...catch...这样的语句块,我们知道在Java中使用try...catch...这种模式不仅能分...
目录ExamplesGoroutine LifetimesHandle ErrorsimportImport BlankImport DotIn-Band ErrorsIndent Error FlowInitialismsInterfacesLine LengthNamed Result ParametersNa...
文章介绍了3种常用的打log的方式,并赋上了注解先写上注意事项,三种方法建议分开测,因为可能在第一种的Fatal会终止运行,Fatal和Panic和Print的区别在于,Fatal会保存日志并终止...