- 博客(10)
- 收藏
- 关注
原创 最简洁的话概述vue3中的ref、reactive、toRef、toRefs
最简洁的话概述vue3的ref、reactive、toRef、toRefs
2022-09-03 11:43:48
687
原创 Golang实现7种常用排序算法以及时间突破到On的排序
Golang实现7种常用排序算法以及时间突破到On的排序排序概述1.冒泡排序(稳定)2.选择排序(不稳定)3.插入排序(稳定)4.快速排序(不稳定)5.归并排序(稳定)6.希尔排序(不稳定)7.堆排序(不稳定)8.猴子排序和睡眠排序9.其它速度达到O(n)线性的排序方法排序概述对于一个序列,任意两个数的顺序不符合约定则称为一个逆序。例如对于一个随机数组如[3,2,1]我们希望它能按增序排列,则其逆序对为3和2,3和1,2和1。可以认为一个随机数组的逆序数为O(n2)。各种排序本质上就是在消除逆序对,
2021-06-22 10:53:33
1179
原创 手写js的call、apply、bind方法
function Person(){} Person.call_=function (obj){ let s=Symbol(); obj[s]=this; let result=obj[s](...[].slice.call(arguments,1));//或...Array.from(arguments).slice(1) delete obj[s]; return result; } Pers...
2021-04-29 12:48:59
147
原创 Go get后文件不存在的坑
记录Go get后在GOPATH目录下没有找到文件的坑因为开启了环境变量GO111MODULE=on,会将go get的文件下载到GOPATH/pkg/mod里。将里面的文件复制到GOPATH/src即可。还是基础不扎实的锅。。。
2021-03-14 20:20:27
1719
原创 Golang append原理以及发生了什么
Golang append原理1.slice底层源码2.append源码3.append流程1.slice底层源码type slice struce{ array unsafe.Pointer 指针,指向底层数组 len int cap int}2.append源码func append(slice []Type,elems ...Type) []Type 这里传递参数是值拷贝,因此append无法修操作原切片。值为结构体的情况下考虑使用指针。返回一个新的切片3.
2021-03-04 18:04:58
2216
4
原创 Go管道range原理
Go管道range原理for v:=range ch{ Do(...)}等价于:for { if v,ok:=<-ch;!ok{ break }else{ Do(...) }}range会自动遍历管道,管道为空且没有close就会一直阻塞。当数据全部读出且管道关闭后,<-ch返回0,false 会自动结束循环...
2021-03-04 11:17:23
586
1
原创 Go管道阻塞、常见用法以及底层实现
Go管道阻塞、常见用法以及底层实现channel数据结构一、管道状态二、阻塞2.1 什么时候发生阻塞?2.2 阻塞的本质?三、常见错误四、管道常用用法4.1 单向管道4.2 selectchannel数据结构type hchan struct { qcount uint //当前元素个数(len) dataqsiz uint //队列长度(cap) buf unsafe.Pointer //队列指针,指向队列内存位置 elemsize
2021-03-03 22:54:58
2096
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人