幽灵蛛(pholcus)(三)--strings学习资料
strings包按理说应该是一个独立的教程,但目前我主要还是爬虫在用它,就放到这里吧!
转载请注明出处:http://www.cnblogs.com/SSSR/p/6347431.html
strings包是golang的标准库:
以下收集一些链接:
http://studygolang.com/articles/2881 这个链接里的一些写法不错,如:var p=fmt.Println
http://studygolang.com/articles/4588
http://studygolang.com/articles/5769 有很多的中文注释 非常好!
http://studygolang.com/articles/5584
http://studygolang.com/articles/3436 此链接比较全,但是原网址看不清楚;代码一会附到下面。
这里来先穿插以下 我是怎么写golang的。golang语言的入口只有main一个,所以我们建的项目只能有一个有main文件。但是我们在学习的时候不能把所有的代码都写到main文件中,这样子会很乱,也不利于我们以后查找。
所以我是新建一个文件夹,利用golang的测试文件来写我要学习的东西,通过_test.go文件运行。这样子可以很好的组织我们的代码,后续在查找时也很方便,开发项目调用也方便。
以字符串的为例:
stringlearning.go文件内容:
package stringslearningimport ("fmt""strings"//"unicode/utf8" )func Stringlearn() {fmt.Println("查找子串是否在指定的字符串中")fmt.Println(" Contains 函数的用法")fmt.Println(strings.Contains("seafood", "foo")) //truefmt.Println(strings.Contains("seafood", "bar")) //falsefmt.Println(strings.Contains("seafood", "")) //truefmt.Println(strings.Contains("", "")) //true 这里要特别注意fmt.Println(strings.Contains("我是中国人", "我")) //truefmt.Println("")fmt.Println(" ContainsAny 函数的用法")fmt.Println(strings.ContainsAny("team", "i")) // falsefmt.Println(strings.ContainsAny("failure", "u & i")) // truefmt.Println(strings.ContainsAny("foo", "")) // falsefmt.Println(strings.ContainsAny("", "")) // falsefmt.Println("")fmt.Println(" ContainsRune 函数的用法")fmt.Println(strings.ContainsRune("我是中国", '我')) // true 注意第二个参数,用的是字符fmt.Println("")fmt.Println(" Count 函数的用法")fmt.Println(strings.Count("cheese", "e")) // 3fmt.Println(strings.Count("five", "")) // before & after each rune result: 5 , 源码中有实现fmt.Println("")fmt.Println(" EqualFold 函数的用法")fmt.Println(strings.EqualFold("Go", "go")) //大小写忽略fmt.Println("")fmt.Println(" Fields 函数的用法")fmt.Println("Fields are: %q", strings.Fields(" foo bar baz ")) //["foo" "bar" "baz"] 返回一个列表//相当于用函数做为参数,支持匿名函数for _, record := range []string{" aaa*1892*122", "aaa\taa\t", "124|939|22"} {fmt.Println(strings.FieldsFunc(record, func(ch rune) bool {switch {case ch > '5':return true}return false}))}fmt.Println("")fmt.Println(" HasPrefix 函数的用法")fmt.Println(strings.HasPrefix("NLT_abc", "NLT")) //前缀是以NLT开头的fmt.Println("")fmt.Println(" HasSuffix 函数的用法")fmt.Println(strings.HasSuffix("NLT_abc", "abc")) //后缀是以NLT开头的fmt.Println("")fmt.Println(" Index 函数的用法")fmt.Println(strings.Index("NLT_abc", "abc")) // 返回第一个匹配字符的位置,这里是4fmt.Println(strings.Index("NLT_abc", "aaa")) // 在存在返回 -1fmt.Println(strings.Index("我是中国人", "中")) // 在存在返回 6fmt.Println("")fmt.Println(" IndexAny 函数的用法")fmt.Println(strings.IndexAny("我是中国人", "中")) // 在存在返回 6fmt.Println(strings.IndexAny("我是中国人", "和")) // 在存在返回 -1fmt.Println("")fmt.Println(" Index 函数的用法")fmt.Println(strings.IndexRune("NLT_abc", 'b')) // 返回第一个匹配字符的位置,这里是4fmt.Println(strings.IndexRune("NLT_abc", 's')) // 在存在返回 -1fmt.Println(strings.IndexRune("我是中国人", '中')) // 在存在返回 6fmt.Println("")fmt.Println(" Join 函数的用法")s := []string{"foo", "bar", "baz"}fmt.Println(strings.Join(s, ", ")) // 返回字符串:foo, bar, bazfmt.Println("")fmt.Println(" LastIndex 函数的用法")fmt.Println(strings.LastIndex("go gopher", "go")) // 3fmt.Println("")fmt.Println(" LastIndexAny 函数的用法")fmt.Println(strings.LastIndexAny("go gopher", "go")) // 4fmt.Println(strings.LastIndexAny("我是中国人", "中")) // 6fmt.Println("")fmt.Println(" Map 函数的用法")rot13 := func(r rune) rune {switch {case r >= 'A' && r <= 'Z':return 'A' + (r-'A'+13)%26case r >= 'a' && r <= 'z':return 'a' + (r-'a'+13)%26}return r}fmt.Println(strings.Map(rot13, "'Twas brillig and the slithy gopher..."))fmt.Println("")fmt.Println(" Repeat 函数的用法")fmt.Println("ba" + strings.Repeat("na", 2)) //bananafmt.Println("")fmt.Println(" Replace 函数的用法")fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2))fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1))fmt.Println("")fmt.Println(" Split 函数的用法")fmt.Printf("%q\n", strings.Split("a,b,c", ","))fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a "))fmt.Printf("%q\n", strings.Split(" xyz ", ""))fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins"))fmt.Println("")fmt.Println(" SplitAfter 函数的用法")fmt.Printf("%q\n", strings.SplitAfter("/home/m_ta/src", "/")) //["/" "home/" "m_ta/" "src"]fmt.Println("")fmt.Println(" SplitAfterN 函数的用法")fmt.Printf("%q\n", strings.SplitAfterN("/home/m_ta/src", "/", 2)) //["/" "home/m_ta/src"]fmt.Printf("%q\n", strings.SplitAfterN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"]fmt.Println("")fmt.Println(" SplitN 函数的用法")fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 1))fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 2)) //["/" "home/" "m_ta/" "src"]fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", -1)) //["" "home" "m_ta" "src"]fmt.Printf("%q\n", strings.SplitN("home,m_ta,src", ",", 2)) //["/" "home/" "m_ta/" "src"]fmt.Printf("%q\n", strings.SplitN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"]fmt.Println("")fmt.Println(" Title 函数的用法") //这个函数,还真不知道有什么用fmt.Println(strings.Title("her royal highness"))fmt.Println("")fmt.Println(" ToLower 函数的用法")fmt.Println(strings.ToLower("Gopher")) //gopherfmt.Println("")fmt.Println(" ToLowerSpecial 函数的用法")fmt.Println("")fmt.Println(" ToTitle 函数的用法")fmt.Println(strings.ToTitle("loud noises"))fmt.Println(strings.ToTitle("loud 中国"))fmt.Println("")fmt.Println(" Replace 函数的用法")fmt.Println(strings.Replace("ABAACEDF", "A", "a", 2)) // aBaACEDF//第四个参数小于0,表示所有的都替换, 可以看下golang的文档fmt.Println(strings.Replace("ABAACEDF", "A", "a", -1)) // aBaaCEDFfmt.Println("")fmt.Println(" ToUpper 函数的用法")fmt.Println(strings.ToUpper("Gopher")) //GOPHERfmt.Println("")fmt.Println(" Trim 函数的用法")fmt.Printf("[%q]", strings.Trim(" !!! Achtung !!! ", "! ")) // ["Achtung"]fmt.Println("")fmt.Println(" TrimLeft 函数的用法")fmt.Printf("[%q]", strings.TrimLeft(" !!! Achtung !!! ", "! ")) // ["Achtung !!! "]fmt.Println("")fmt.Println(" TrimSpace 函数的用法")fmt.Println(strings.TrimSpace(" \t\n a lone gopher \n\t\r\n")) // a lone gopher}
stringslearning_test.go文件如下:
package stringslearning import ("fmt"//"github.com/PuerkitoBio/goquery""testing" ) func TestGolang(t *testing.T) {Stringlearn()fmt.Println("Hello World!这是测试") }
在stringslearning_test.go文件下点击TEST运行即可:
转载于:https://www.cnblogs.com/SSSR/p/6347431.html
幽灵蛛(pholcus)(三)--strings学习资料相关推荐
- 【总结】从视频到图文,代码实战,有三AI-GAN学习资料汇总!
GAN无疑是这几年深度学习领域里最酷的技术,不管是理论的研究,还是GAN在图像生成,图像翻译,语音图像等基础领域的应用,都非常的丰富.我们公众号输出过非常多的GAN相关资源,本次做一个简单汇总,我们平 ...
- 【通知】有三AI带学习资料的固态硬盘最后5个
还记得今年年中时发布的有三AI定制版固态硬盘吗,年前最后一期还有5个,2个大号,3个小号,先到先得,下面是硬盘相关的具体细节介绍. 硬盘产品细节 本次我们的产品为固态移动硬盘,注意是固态硬盘,不是普通 ...
- 国科大学习资料--最优化计算方法(王晓)--第三次作业答案
国科大学习资料–最优化计算方法(王晓)–第三次作业答案 国科大学习资料–最优化计算方法(王晓)–第三次作业答案 国科大学习资料–最优化计算方法(王晓)–第三次作业答案 ![在这里插入图片描述](htt ...
- 国科大学习资料--模式识别与机器学习(黄庆明)--第三次作业答案
国科大学习资料–模式识别与机器学习(黄庆明)–第三次作业答案 国科大学习资料–模式识别与机器学习(黄庆明)–第三次作业答案 国科大学习资料–模式识别与机器学习(黄庆明)–第三次作业答案 ======= ...
- android 学习笔记(三) Android学习路线之3.2 游戏程序员的学习资料
看到一篇文章,总结一个游戏程序员的学习资料,作者是一个大二的学生,很羡慕作者大二时就有这么清晰的职业目标.我大学学的是自动化专业,大学时也算博览群书,可惜现在大多不知道遗忘在那个角落了.毕业后,单片机 ...
- 国科大学习资料–图像处理(彭思龙、杨戈)--第三次作业
国科大学习资料–图像处理–第三次作业(彭思龙)(附完整代码) 答案仅供参考,严禁转载抄袭 题目 编一个程序实现如下功能: 1.读入一幅指纹图像(自己找): 2.对图像进行二值化(方法自定,可以是阈值法 ...
- 日语学习资料 - 万叶集 三本
万叶集 (汉译上下册).pdf https://pan.baidu.com/s/10ivQWFXzBVjW8MKd-sxL9A t5xq 万叶集--赵乐甡全译本.pdf https: ...
- [转]机器学习和深度学习资料汇总【01】
本文转自:http://blog.csdn.net/sinat_34707539/article/details/52105681 <Brief History of Machine Learn ...
- symfony入门学习资料之十:YAML——基本语法
symfony入门学习资料之十:YAML--基本语法 本节的学习,继续介绍YAML的语法,进一步深入的学习.在symfony框架中,yml格式的文件用的非常普遍,所以在本系列的学习中,要多花些篇幅进行 ...
- 教程 | 一文读懂自学机器学习的误区和陷阱(附学习资料)
来源:机器学习与统计学 本文约6296字,建议阅读10分钟. 本文为你指出一些自学的误区,推荐学习资料,提供客观可行的学习表并给出进阶学习的建议. 后台回复"20190426"获取 ...
最新文章
- JAVA之JVM垃圾回收(GC)机制详解
- php require_once
- hdu 1087 Super Jumping! Jumping! Jumping!
- 查找排序数组的最小值(js)
- logstash filter 处理json数据按原始数据字段数据存储
- C++ 如何释放std::function中绑定的对象
- HashMap的底层简单理解
- 网页对话框:window.showModalDialog的基本用法
- 彻底解决web调试时,修改css样式后刷新网页无改变
- 百度编辑器设置上传文件大小
- 三件套都有什么_床上四件套和三件套都包括哪些物品?床上四件套选购指南
- P1196 [NOI2002] 银河英雄传说 (并查集 合并
- HashMap 源码深度分析
- JAVA中Calendar类的常用方法
- 金和获微软ISV认证 提升产品技术优势
- EXCEL实时获取鼠标坐标(稳定)
- 6-2 计算长方体的表面积和体积pta
- 无人机航测-倾斜摄影在房地一体权籍的应用
- 华为2017 校园招聘
- 腾讯手游助手android版本过低,腾讯手游助手电脑版存储空间不足什么意思