- 博客(19)
- 收藏
- 关注
原创 golang 管道channel相关问题
上面代码运行肯定会报deadlock的死锁错误,但是下面这样,如果有一个协程一直在运行,则不会报错,大致就是因为协程还在运行,所属主协程main不确定是否会往管道c1中写数据,所以就会一直阻塞在这里,上面的代码块或者没有一直执行的协程,那main就会知道不会再往管道c1中写数据了,就会报错(
2024-08-13 19:48:41 276
原创 golang context 备注
其中的OK指的是当前的ctx是否设置了过期时间,所以上面的代码中ok是true,返回dateTime变量是ctx的到期时间。一.## 关于deadline函数返回的布尔值OK。这里的OK则返回false,因为并没有过期时间。
2024-08-09 19:47:15 117
原创 go 协程中读取的变量指变化
证明这个函数的变量是跟channel一样的,只要go func一直在执行,那读的这个变量的值也是会变的。所以最后的结果是1 2 3 4 5 6 7 8 9 10。一开始以为输出的结果是0 0 0 0 0 0 0 0。
2024-08-07 16:13:09 120
原创 golang context WithTimeout 琐碎
运行的结果是:起始时间。。。。。。aa watch ctx2收到信号,监控退出,time2= 1712829564parent收到信号,监控退出,time= 1712829564起始时间。。。。。。aa watch ctx2收到信号,监控退出,time2= 1712829663parent收到信号,监控退出,time= 1712829663。
2024-04-11 18:06:43 401 1
原创 关于defer defer()() 后面跟返回函数
会 根据defer所在位置先执行f1()函数,然后在main的return 前去执行f1的返回函数,所以上面的值是。defer f1()() 这个执行顺序问题。
2023-07-04 12:01:08 80
原创 golang管道channel顺序执行报错deadlock
当golang顺序执行时,会报错fatal error: all goroutines are asleep - deadlock!package mainimport ( "fmt")func main() { ch := make(chan int) ch<-1 c1 :=<-ch fmt.Println(c1)}不知道有没有跟我一样好奇,为什么下面读取了管道的内容,还是会报错呢,其实这样是因为对主程main而言,到ch<-1时,
2022-05-05 22:45:25 508
原创 golang使用range获取管道channel 内容
package mainimport ( "fmt" "time")func t1(ch chan int){ for s:=range ch{ fmt.Println(s) }}func main() { ch := make(chan int,3) go t1(ch) ch<-1 ch<-2 ch<-3 time.Sleep(time.Second * 6)}
2022-05-05 22:35:20 967
原创 golang 关于append
func main(){ s1 :=make([]int,0,5) s1 =append(s1,1,2,3) s2 :=append(s1,4,5) fmt.Println(s2) //[1 2 3 4 5] s3 :=append(s1,6) //此处相当于对s2指向的数组再做修改 fmt.Println(s1) //[1 2 3] fmt.Println(s2)//[1 2 3 6 5] fmt.Println(s3)//[1 2 3
2022-05-01 23:56:31 254
原创 Golang 简单链表
Golang 简单链表针对golang出学者,写一个简单的单向链表来进行练手,目前只有在链表添加功能直接贴代码package mainimport( "fmt" )type node struct{ name string next *node}func addNode(name string,rootNode *node){ var curNode node curNode.name = name curNode.n
2021-10-29 18:32:27 190
原创 golang 指针和引用
var s = []string{“a”, “b”, “c”}fmt.Printf(“s 的内存地址 = %p\n”, &s) //这个是变量s的地址fmt.Printf(“s 指向的内存地址 = %p\n”, s)//这个是变量s对应的切片的地址
2021-01-19 19:44:49 788 1
原创 xtrabackup备份与恢复的脚本
xtrabackup备份与恢复的脚步01 02 * * * cd /home/xtrabackup_mysql && ./bk_mysql.sh fullbackup >> log/run.log 2>&1 &#!/bin/bashecho "==============new backup================="echo "===============arg:[$@]=================="dateexport
2020-12-08 17:11:39 317
原创 mysql主从同步因字段类型不一致导致主从失败
@[TOC](Column 3 of table ‘xxxxx’ cannot be converted from type ‘int’ to type ‘varchar(32)’)Slave SQL 报错信息如下:Column 3 of table ‘xxxxx’ cannot be converted from type ‘int’ to type ‘varchar(32)’这个错误是指:Column 3 字段类型由主库的int类型字段写入到从库时,字段是varchar类型中,是属于类型不一致导致
2020-11-24 11:47:25 1364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人