小小心得: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有输出结果的,所以可以通过这个特性制作协程哨兵

原文地址:https://www.cnblogs.com/MyUniverse/p/11669095.html

时间: 2024-10-09 22:31:57

小小心得:go的匹配多行字符串、channel的range用法和close的用法的相关文章

sed 匹配多个字符串的行打印

匹配多个关键词,打印出匹配的行,效果类似于 grep grep hello\|world file > output 或者用扩展正则 grep -E '(hello|world)' file > output 如果grep用的是 -e 小写e参数,需要加上反斜杠转移,即: grep -e '\(hello\|world\)' file > output GNU sed 写法 sed -n '/hello\|world/p' file > output 这种写法 UNIX的sed不支

linux 查找指定内容并显示指定行数的命令,显示匹配行和行号

grep -i "desktop-printing-0.19-20.2.el5.x86_64" -n -A 10 install.log linux 查找指定内容并显示指定行数的命令,显示匹配行和行号,布布扣,bubuko.com

利用char, str2mat, strvcat创建多行字符串数组

用专门函数char , str2mat , strvcat创建多行字符串数组示例. 1.char('str1', 'str2',...) Convert to character array (string)转换成字符串数组,空字符串是有效的. 示例:S1=char('This string array','', 'has two rows.')   S1 = This string array has two rows. 2.str2mat  (新版本中被char替代) Form blank-

js定义多行字符串

js本身没有提供类似的定义方式,但是可以通过多行注释(/* */),已经借助function的方式来达到多行字符的定义,例如代码: var jstr = function() { var fun = function() { /*line1 line2 line3 line4*/ } var lines = new String(fun); return lines.substring(lines.indexOf("/*") + 3, lines.lastIndexOf("*

js中多行字符串拼接

前言 我们会经常遇到这样的场景,需要拼接多行字符串,在字符串中动态插入一些数据以达到业务的需求.但是js中并没有标准的多行编辑的函数,于是聪明的程序员们便脑洞大开,书写出许多有趣的方法. 1 2 3 4 5 <div class="links"> <a href="http://qianlongo.github.io/">谦龙的博客</a> <a href="http://aximario.github.io/&q

PHP中的多行字符串传递给JavaScript方法两则

PHP和JavaScript都是初学.近期有这么个需求: 例如说有一个PHP的多行字符串: $a = <<<EOF thy38 csdn blog EOF; 传递给JavaScript后要等价于: var c='thy38\ncsdn\nblog'; 由于对这两门语言的理解低到不知怎样Google.仅仅好自己摸索出方法两则: 1.  将PHP先转义.然后切割.然后转JSON,然后JavaScript parse,最后用\n拼接. var b=JSON.parse(<? php ec

Python中raw字符串与多行字符串

如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦.为了避免这种情况,我们可以在字符串前面加个前缀r ,表示这是一个 raw 字符串,里面的字符就不需要转义了.例如: r'\(~_~)/ \(~_~)/' 但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串(为什么?) 如果要表示多行字符串,可以用'''...'''表示: '''Line 1 Line 2 Line 3''' 上面这个字符串的表示方法和下面的是完全一样的: 'Line 1\nLine 2\n

Javascript实现多行字符串

打开百度首页,进入控制台的时候,我们在console控制台总可以看到一段文字: 这些文字是如何显示在控制台的呢?? Javascript中的函数被看作是一个对象拥有自己的方法,其中一个小方法fn.toString()可以帮助我们实现多行字符串的效果. fn.toString()关键是利用他可以返回注释这一点,代码如下: var f = function () {/* 一张网页,要经历怎样的过程,才能抵达用户面前? 一位新人,要经历怎样的成长,才能站在技术之巅? 探寻这里的秘密: 体验这里的挑战:

Python中的raw字符串和多行字符串

1.raw字符串(原始字符串) 如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦.为了避免这种情况, 我们可以在字符串前面加个前缀r,表示这是一个 raw 字符串,里面的字符就不需要转义了.例如: r'\(^_^)/ \(~_~)/' raw字符串表示原始字符串,我对于原始的理解就是:你看到这个字符串是什么就显示什么,去掉 所有字符都不进行转义,该显示啥就是啥. 2.多行显示 Python中除了可以使用单引号' '.双引号" "表示一个字符串,还可以使用三引号来表示