Go 语言子线程截图代码错误分析:未定义变量 'monkey'
该代码的问题是,在子线程中使用了未定义的变量 'monkey'。需要先定义和赋值 'monkey' 变量,才能在子线程中使用。
var running bool = true //控制子线程运行
errChan := make(chan error) //创建一个channel用于接收报错信息
// 定义 'monkey' 变量
var monkey *YourMonkeyType // 替换为你的具体类型
go func() {
defer func() {
if r := recover(); r != nil {
errChan <- fmt.Errorf('截图子线程发生错误: %v', r)
}
}()
log.Println('截图子线程运行中...')
for running {
monkey.Device.Screenshot_continuous(&monkey.White_scr, &monkey.Black_scr,
&monkey.White_time, &monkey.Black_time, &monkey.Pic_count, &monkey.White_time_temp, &monkey.Black_time_temp)
time.Sleep(200 * time.Millisecond)
}
log.Println('截图子线程已退出!')
}()
select {
case err := <-errChan:
log.Println(err)
}
注意:
- 将
YourMonkeyType替换为你的实际 'monkey' 变量类型。 - 确保在子线程运行之前,'monkey' 变量已经被正确定义和赋值。
原文地址: https://www.cveoy.top/t/topic/mG0V 著作权归作者所有。请勿转载和采集!