浅谈Golang Slice切片如何扩容的实现
目录一、Slice数据结构是什么?二、详细代码1.数据结构2.扩容原则3.如何理解扩容规则一1.当小于1024个元素时2.当大于1024个元素时4.如何理解扩容规则二1.简单理解内存地址更...
目录一、Slice数据结构是什么?二、详细代码1.数据结构2.扩容原则3.如何理解扩容规则一1.当小于1024个元素时2.当大于1024个元素时4.如何理解扩容规则二1.简单理解内存地址更...
目录一、浮点数是什么?1.指数方案2.规范化指数形式3.IEEE754标准二、出现精度问题的情况1.浮点数加减运算2.float64与float32之间转换3.int64和float64,int32和float32转换4....
目录一、包的导入二、包的不同导入方式1.导入单个2.导入多个包3.特殊的导入方式总结一、包的导入Golang 当导入多个包时,一般按照字母顺序排列包名称,像Goland 等IDE 会在保存...
目录一、Go语言通道基础概念1.channel产生背景2.channel工作方式二、通道使用语法1.通道的声明与初始化2.将数据放入通道内3.从通道内取出数据4.关闭通道close三、单项通道...
目录一、判断几位小数点1.判断几位小数点二、四舍五入1.fmt.Sprintf2.math.Round(result*pow)总结一、判断几位小数点1.判断几位小数点加载 cast 包go get github.com/spf13...
目录sort 包源码解读前言如何使用基本数据类型切片的排序自定义 Less 排序比较器自定义数据结构的排序分析下源码不稳定排序稳定排序查找Interface总结参考sort 包源码解读...
目录OverviewRWMutex 的结构LockUnlockRLockRUnlockQ1: 多个协程并发拿读锁,如何保证这些读锁协程都不会被阻塞?Q2: 多个协程并发拿写锁,如何保证只会有一个协程拿到写锁?Q3: 在...
刚接触 Go 语言时,就听说有一个叫rune的数据类型,即使查阅过一些资料,对它的理解依旧比较模糊,加之对陌生事物的天然排斥,在之后很长一段时间的编程工作中,我都没有让它出现在我的...
目录01介绍02变量声明方式标准声明变量不显式赋初始值声明变量省略类型声明变量短变量声明显式类型转换变量列表声明变量声明块03使用场景包级变量全局变量局部变量04注意事...
目录一、为什么是无序的?二、GO 为什么要这么做?三、遍历是否真的无序的1.第一次遍历2.第二次遍历四、如何才能得到有序的键值对总结一、为什么是无序的?开门见山,先上源码func...
目录一、error变量可以做什么1.定义一个error变量2.错误的处理3.做函数返回值4.做函数参数二、模拟异常的捕获与抛出1.defer简介2.使用recover模拟异常的捕获3.使用panic主...
目录一、基本概念①并发、并行区分②从用户态线程,内核态线程阐述go与java并发的优劣②高并发为什么是Go语言强项?③Go语言实现高并发底层GMP模型原理解析二、上代码学会Go语...
golang监听消息队列rabbitmq任务脚本,当rabbimq消息队列断开连接后自动重试,重新唤起协程执行任务需求背景:goalng常驻内存任务脚本监听rbmq执行任务任务脚本由supervisor来管...
目录现状改进双重检验示例:是否线程安全关于sync.Once关于atomic和metex结论今天看到项目中的kafka客户端包装结构体的获取是单例模式<br>单例的实现是老生常谈的问题了,懒汉...
目录一、数组和切片的区别是什么?1.数组2.切片二、数组和切片的初始化?1.数组2.切片二、常见问题1.切片的初始化与追加2.slice拼接问题3.new和make的区别总结一、数组和切片的...
目录1、基本思想2、算法步骤第一轮开始排序: 第二轮开始排序: 第三轮开始排序: 第四轮开始排序: 3、算法实现1、基本思想通过对待排序序列从后向前,依次比较相邻元素的排序码,若发...
目录1.结构分析2.pipe sruct分析3.PipeReader对外暴露的是读/关闭4.写法5.总结pipe.go分析:这个文件使用到了errors包,也是用到了sync库.文件说明:pipe是一个适配器,用于连接...
目录前言01. 数组和切片有什么区别?02. 拷贝大切片一定比拷贝小切片代价大吗?03. 切片的深浅拷贝04. 零切片、空切片、nil切片是什么05. 切片的扩容策略07. 参数传递切片和...
总的来说Sleep是使用睡眠完成定时,结束后继续往下执行循环来实现定时任务。Tick函数是使用channel阻塞当前协程,完成定时任务的执行现在来看一下 两种方法实现出来的效果有何...
目录一、字符串与字节数组?二、详细代码1.字节转字符串2.字符串转字节数组3.完整运行测试总结一、字符串与字节数组?字符串是 Go 语言中最常用的基础数据类型之一,本质上是只读...
目录metrics是什么?五种Metrics类型metrics 是什么?当我们需要为某个系统某个服务做监控、做统计,就需要用到Metrics五种 Metrics 类型Gauges :最简单的度量指标,只有一个简单的...
目录一、单元测试分类及其概念1.基本分类2.细说单元测试分类二、结合代码细说每一种测试1.基准测试2.组测试与子测试三、pprof调试工具1.对主函数进行传参2.pprof性能调优前...
目录场景一创建两个shell脚本执行脚本进程关系删除 start.sh 的进程问题1:场景二执行程序查看进程删除 start.sh 的进程再查看进程问题2:问题分析孤儿进程解决&预防僵尸进程...
目录1基本概念2代码实现3测试使用1 基本概念LRU是一个老生常谈的问题,即最近最少使用,LRU是Least Recently Used的缩写,是一种操作系统中常用的页面置换算法,选择最近最久未使用...