kzdgt Blog

路在脚下,心向远方

Go语言 函数传参时的不同

slice 和 map 分别作为函数参数时有什么区别? slice 的结构体定义: // runtime/slice.go type slice struct { array unsafe.Pointer // 元素指针 len int // 长度 cap int // 容量 } 结构体内部包含底层的数据指针。 创建 slice 实际

创建主从MySQL

准备工作:启动两个docker的MySQL服务器 docker run --name mysql_master -d -p 3306:3306 --restart unless-stopped -v /mydata/mysql_master/log:/var/log/mysql -v /mydata/mysql_master/data:/var/lib/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=123456 mysql:8 docker run --name mysql_slave -d -p 3307:3306 --restart unless-stopped -v /mydata/mysql_slave/log:/var/log/mysql -v /mydata/mysql_slave/data:/var/lib/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=123456 mysql:8 登录master和sla

Go语言 defer和recover

defer语句 Go语言中的defer语句会将其后面跟随的语句进行延迟处理。在defer归属的函数即将返回时,将延迟处理的语句按defer定义

Go语言 channel进阶

原文:Go语言 channel进阶 - 掘金 (juejin.cn) Go channel有什么特点? channel有2种类型:无缓冲、有缓冲 channel有3种模式:写操作

Go语言中的互斥锁和读写锁(Mutex和RWMutex)

原文:Go语言中的互斥锁和读写锁(Mutex和RWMutex) 虽然Go语言提供channel来保证协程的通信,但是某些场景用锁来显示保证协程