- 博客(4)
- 收藏
- 关注
原创 golang map探究
map的定义 map[KeyType]ValueType KeyType为键的类型,ValueType为值的类型 map 初始化 m1 := make(map[int]int) fmt.Println(m1) // map[] m2 := make(map[int]int,1) make初始化的时候,可以不指定map容量,也可以指定容量 判断map是否存在某个值 package main import "fmt" func main() { m1
2021-07-29 18:19:55
636
原创 golang - make 和 new的区别
make和new 都是golang里面用来分配对应类型内存空间的内置函数,但是从接口定义和返回值等方面还是有差异的。 make func make(t Type , size ... IntegerType ) Type 内置函数make仅用来分配和初始化slice、map和chan类型的对象。make的第一个参数是一个类型,而返回值是一个实例,类型和第一个参数类型相同。 make初始化slice: 包含3个入参,依次是创建的对象类型,length,capacity,当然cap不是必填。 p
2021-07-22 16:45:21
222
原创 Redis数据结构-简单动态字符串(Simple Dynamic String,SDS)(待完善)
Redis关于 SDS的源文件在src/sds.c sds.h/sdshdr struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度 int free; // 字节数组 char buf[]; }; SDS本质上就是char *,因为有了表头sdshdr结构的存在,所以SDS比传统C字符串在某些方面更加优秀,并且能够兼容传统C字符串。 sds在Redis中是实现字符串对象的工具,并且.
2021-07-06 18:54:21
136
原创 I/O复用(一)-select (待完善)
select系统调用:在一段指定时间内,监听用户感兴趣的文件描述符上的可读、可写、异常事件 select 函数API如下 int select(int nfds, fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout); 参数含义: nfds 被监听的文件描述符总数,通常被设置为select监听的所有文件描述符中的最大值加1(因为文件描述符是从0开始的) readfds、writefds、exceptfd
2021-07-06 09:27:41
201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人