小小心得:go的匹配多行字符串、channel的range用法和close的用法
-
go正则匹配多行字符串的一个正则式
(?s)\d+\)\s.*?\n\s*\n
`
1) 初始化页面元素未达到要求
- Expected false
- Failed: No
2) 初始化页面元
- Failed: No element found
3) 初始页e多行本框好
- Expected fa
- Failed: No element found using locator: By(
`
-
channel的range使用注意事项
cha := make(chan int,10)
for data:=range cha{
// 只有close的时候range才不会继续循环获取管道数据
fmt.Println(data)
}
这段代码会报错,因为cha没有输入数据,就读取数据造成死锁。修改代码如下:
cha := make(chan int,10)
close(cha)
for data:=range cha{
// 只有close的时候range才不会继续循环获取管道数据
fmt.Println(data)
}
当channel关闭的时候,没有数据就不再进行读取管道数据
- channel的close()用法:因为关闭之后,<- channel有输出结果的,所以可以通过这个特性制作协程哨兵