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学习资料相关推荐

  1. 【总结】从视频到图文,代码实战,有三AI-GAN学习资料汇总!

    GAN无疑是这几年深度学习领域里最酷的技术,不管是理论的研究,还是GAN在图像生成,图像翻译,语音图像等基础领域的应用,都非常的丰富.我们公众号输出过非常多的GAN相关资源,本次做一个简单汇总,我们平 ...

  2. 【通知】有三AI带学习资料的固态硬盘最后5个

    还记得今年年中时发布的有三AI定制版固态硬盘吗,年前最后一期还有5个,2个大号,3个小号,先到先得,下面是硬盘相关的具体细节介绍. 硬盘产品细节 本次我们的产品为固态移动硬盘,注意是固态硬盘,不是普通 ...

  3. 国科大学习资料--最优化计算方法(王晓)--第三次作业答案

    国科大学习资料–最优化计算方法(王晓)–第三次作业答案 国科大学习资料–最优化计算方法(王晓)–第三次作业答案 国科大学习资料–最优化计算方法(王晓)–第三次作业答案 ![在这里插入图片描述](htt ...

  4. 国科大学习资料--模式识别与机器学习(黄庆明)--第三次作业答案

    国科大学习资料–模式识别与机器学习(黄庆明)–第三次作业答案 国科大学习资料–模式识别与机器学习(黄庆明)–第三次作业答案 国科大学习资料–模式识别与机器学习(黄庆明)–第三次作业答案 ======= ...

  5. android 学习笔记(三) Android学习路线之3.2 游戏程序员的学习资料

    看到一篇文章,总结一个游戏程序员的学习资料,作者是一个大二的学生,很羡慕作者大二时就有这么清晰的职业目标.我大学学的是自动化专业,大学时也算博览群书,可惜现在大多不知道遗忘在那个角落了.毕业后,单片机 ...

  6. 国科大学习资料–图像处理(彭思龙、杨戈)--第三次作业

    国科大学习资料–图像处理–第三次作业(彭思龙)(附完整代码) 答案仅供参考,严禁转载抄袭 题目 编一个程序实现如下功能: 1.读入一幅指纹图像(自己找): 2.对图像进行二值化(方法自定,可以是阈值法 ...

  7. 日语学习资料 - 万叶集 三本

    万叶集 (汉译上下册).pdf    https://pan.baidu.com/s/10ivQWFXzBVjW8MKd-sxL9A    t5xq 万叶集--赵乐甡全译本.pdf    https: ...

  8. [转]机器学习和深度学习资料汇总【01】

    本文转自:http://blog.csdn.net/sinat_34707539/article/details/52105681 <Brief History of Machine Learn ...

  9. symfony入门学习资料之十:YAML——基本语法

    symfony入门学习资料之十:YAML--基本语法 本节的学习,继续介绍YAML的语法,进一步深入的学习.在symfony框架中,yml格式的文件用的非常普遍,所以在本系列的学习中,要多花些篇幅进行 ...

  10. 教程 | 一文读懂自学机器学习的误区和陷阱(附学习资料)

    来源:机器学习与统计学 本文约6296字,建议阅读10分钟. 本文为你指出一些自学的误区,推荐学习资料,提供客观可行的学习表并给出进阶学习的建议. 后台回复"20190426"获取 ...

最新文章

  1. JAVA之JVM垃圾回收(GC)机制详解
  2. php require_once
  3. hdu 1087 Super Jumping! Jumping! Jumping!
  4. 查找排序数组的最小值(js)
  5. logstash filter 处理json数据按原始数据字段数据存储
  6. C++ 如何释放std::function中绑定的对象
  7. HashMap的底层简单理解
  8. 网页对话框:window.showModalDialog的基本用法
  9. 彻底解决web调试时,修改css样式后刷新网页无改变
  10. 百度编辑器设置上传文件大小
  11. 三件套都有什么_床上四件套和三件套都包括哪些物品?床上四件套选购指南
  12. P1196 [NOI2002] 银河英雄传说 (并查集 合并
  13. HashMap 源码深度分析
  14. JAVA中Calendar类的常用方法
  15. 金和获微软ISV认证 提升产品技术优势
  16. EXCEL实时获取鼠标坐标(稳定)
  17. 6-2 计算长方体的表面积和体积pta
  18. 无人机航测-倾斜摄影在房地一体权籍的应用
  19. 华为2017 校园招聘
  20. 腾讯手游助手android版本过低,腾讯手游助手电脑版存储空间不足什么意思

热门文章

  1. 关于vscode打感叹号无法输出html模板的解决方法
  2. C++一步解决cls闪烁问题
  3. 布局万花筒:UIColletionview
  4. 微信小程序实现城市索引选择+搜索
  5. 360和腾讯之争的建议
  6. ISA防火墙简单安装配置实例
  7. 验证码的实现 与jQuery阻止跳转封装数据库工具类oracle
  8. 上月用得好好的支付宝获取月账单的Java接口,月初突然返回“入参不合法”的解决方法
  9. matlab 贝叶斯网络工具箱的安装
  10. Go 企业级框架 Revel 版全新发布