golang strings包

转载 2013年12月04日 11:17:04
001 package main
002  
003 import (
004     "fmt"
005     "strings"
006     //"unicode/utf8"
007 )
008  
009 func main() {
010     fmt.Println("查找子串是否在指定的字符串中")
011     fmt.Println(" Contains 函数的用法")
012     fmt.Println(strings.Contains("seafood", "foo")) //true
013     fmt.Println(strings.Contains("seafood", "bar")) //false
014     fmt.Println(strings.Contains("seafood", ""))    //true
015     fmt.Println(strings.Contains("", ""))           //true 这里要特别注意
016     fmt.Println(strings.Contains("我是中国人", "我"))     //true
017  
018     fmt.Println("")
019     fmt.Println(" ContainsAny 函数的用法")
020     fmt.Println(strings.ContainsAny("team", "i"))        // false
021     fmt.Println(strings.ContainsAny("failure", "u & i")) // true
022     fmt.Println(strings.ContainsAny("foo", ""))          // false
023     fmt.Println(strings.ContainsAny("", ""))             // false
024  
025     fmt.Println("")
026     fmt.Println(" ContainsRune 函数的用法")
027     fmt.Println(strings.ContainsRune("我是中国", '我')) // true 注意第二个参数,用的是字符
028  
029     fmt.Println("")
030     fmt.Println(" Count 函数的用法")
031     fmt.Println(strings.Count("cheese", "e")) // 3
032     fmt.Println(strings.Count("five", ""))    // before & after each rune result: 5 , 源码中有实现
033  
034     fmt.Println("")
035     fmt.Println(" EqualFold 函数的用法")
036     fmt.Println(strings.EqualFold("Go", "go")) //大小写忽略
037  
038     fmt.Println("")
039     fmt.Println(" Fields 函数的用法")
040     fmt.Println("Fields are: %q", strings.Fields("  foo bar  baz   ")) //["foo" "bar" "baz"] 返回一个列表
041  
042     //相当于用函数做为参数,支持匿名函数
043     for _, record := range []string{" aaa*1892*122", "aaa\taa\t", "124|939|22"} {
044         fmt.Println(strings.FieldsFunc(record, func(ch rune) bool {
045             switch {
046             case ch > '5':
047                 return true
048             }
049             return false
050         }))
051     }
052  
053     fmt.Println("")
054     fmt.Println(" HasPrefix 函数的用法")
055     fmt.Println(strings.HasPrefix("NLT_abc", "NLT")) //前缀是以NLT开头的
056  
057     fmt.Println("")
058     fmt.Println(" HasSuffix 函数的用法")
059     fmt.Println(strings.HasSuffix("NLT_abc", "abc")) //后缀是以NLT开头的
060  
061     fmt.Println("")
062     fmt.Println(" Index 函数的用法")
063     fmt.Println(strings.Index("NLT_abc", "abc")) // 返回第一个匹配字符的位置,这里是4
064     fmt.Println(strings.Index("NLT_abc", "aaa")) // 在存在返回 -1
065     fmt.Println(strings.Index("我是中国人", "中"))     // 在存在返回 6
066  
067     fmt.Println("")
068     fmt.Println(" IndexAny 函数的用法")
069     fmt.Println(strings.IndexAny("我是中国人", "中")) // 在存在返回 6
070     fmt.Println(strings.IndexAny("我是中国人", "和")) // 在存在返回 -1
071  
072     fmt.Println("")
073     fmt.Println(" Index 函数的用法")
074     fmt.Println(strings.IndexRune("NLT_abc", 'b')) // 返回第一个匹配字符的位置,这里是4
075     fmt.Println(strings.IndexRune("NLT_abc", 's')) // 在存在返回 -1
076     fmt.Println(strings.IndexRune("我是中国人", '中'))   // 在存在返回 6
077  
078     fmt.Println("")
079     fmt.Println(" Join 函数的用法")
080     s := []string{"foo", "bar", "baz"}
081     fmt.Println(strings.Join(s, ", ")) // 返回字符串:foo, bar, baz
082  
083     fmt.Println("")
084     fmt.Println(" LastIndex 函数的用法")
085     fmt.Println(strings.LastIndex("go gopher", "go")) // 3
086  
087     fmt.Println("")
088     fmt.Println(" LastIndexAny 函数的用法")
089     fmt.Println(strings.LastIndexAny("go gopher", "go")) // 4
090     fmt.Println(strings.LastIndexAny("我是中国人", "中"))      // 6
091  
092     fmt.Println("")
093     fmt.Println(" Map 函数的用法")
094     rot13 := func(r rune) rune {
095         switch {
096         case r >= 'A' && r <= 'Z':
097             return 'A' + (r-'A'+13)%26
098         case r >= 'a' && r <= 'z':
099             return 'a' + (r-'a'+13)%26
100         }
101         return r
102     }
103     fmt.Println(strings.Map(rot13, "'Twas brillig and the slithy gopher..."))
104  
105     fmt.Println("")
106     fmt.Println(" Repeat 函数的用法")
107     fmt.Println("ba" + strings.Repeat("na", 2)) //banana
108  
109     fmt.Println("")
110     fmt.Println(" Replace 函数的用法")
111     fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2))
112     fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1))
113  
114     fmt.Println("")
115     fmt.Println(" Split 函数的用法")
116     fmt.Printf("%q\n", strings.Split("a,b,c", ","))
117     fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a "))
118     fmt.Printf("%q\n", strings.Split(" xyz ", ""))
119     fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins"))
120  
121     fmt.Println("")
122     fmt.Println(" SplitAfter 函数的用法")
123     fmt.Printf("%q\n", strings.SplitAfter("/home/m_ta/src", "/")) //["/" "home/" "m_ta/" "src"]
124  
125     fmt.Println("")
126     fmt.Println(" SplitAfterN 函数的用法")
127     fmt.Printf("%q\n", strings.SplitAfterN("/home/m_ta/src", "/", 2))  //["/" "home/m_ta/src"]
128     fmt.Printf("%q\n", strings.SplitAfterN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"]
129  
130     fmt.Println("")
131     fmt.Println(" SplitN 函数的用法")
132     fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 1))
133  
134     fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 2))  //["/" "home/" "m_ta/" "src"]
135     fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", -1)) //["" "home" "m_ta" "src"]
136     fmt.Printf("%q\n", strings.SplitN("home,m_ta,src", ",", 2))   //["/" "home/" "m_ta/" "src"]
137  
138     fmt.Printf("%q\n", strings.SplitN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"]
139  
140     fmt.Println("")
141     fmt.Println(" Title 函数的用法") //这个函数,还真不知道有什么用
142     fmt.Println(strings.Title("her royal highness"))
143  
144     fmt.Println("")
145     fmt.Println(" ToLower 函数的用法")
146     fmt.Println(strings.ToLower("Gopher")) //gopher
147  
148     fmt.Println("")
149     fmt.Println(" ToLowerSpecial 函数的用法")
150  
151     fmt.Println("")
152     fmt.Println(" ToTitle 函数的用法")
153     fmt.Println(strings.ToTitle("loud noises"))
154     fmt.Println(strings.ToTitle("loud 中国"))
155  
156     fmt.Println("")
157     fmt.Println(" Replace 函数的用法")
158     fmt.Println(strings.Replace("ABAACEDF", "A", "a", 2)) // aBaACEDF
159     //第四个参数小于0,表示所有的都替换, 可以看下golang的文档
160     fmt.Println(strings.Replace("ABAACEDF", "A", "a", -1)) // aBaaCEDF
161  
162     fmt.Println("")
163     fmt.Println(" ToUpper 函数的用法")
164     fmt.Println(strings.ToUpper("Gopher")) //GOPHER
165  
166     fmt.Println("")
167     fmt.Println(" Trim  函数的用法")
168     fmt.Printf("[%q]", strings.Trim(" !!! Achtung !!! ", "! ")) // ["Achtung"]
169  
170     fmt.Println("")
171     fmt.Println(" TrimLeft 函数的用法")
172     fmt.Printf("[%q]", strings.TrimLeft(" !!! Achtung !!! ", "! ")) // ["Achtung !!! "]
173  
174     fmt.Println("")
175     fmt.Println(" TrimSpace 函数的用法")
176     fmt.Println(strings.TrimSpace(" \t\n a lone gopher \n\t\r\n")) // a lone gopher
177  
178 }

相关文章推荐

golang中strings包用法

本文转自Golove博客: strings 包中的函数和方法 // strings.go ---------------------------------------------------...

golang中strings包函数示例

func Compare(a, b string) intpackage mainimport ( "fmt" "strings" )func main() { fmt.Pri...

golang.org.x.net.tar.gz包下载

  • 2017-08-19 09:11
  • 914KB
  • 下载

golang 1.4.1 win64压缩包

  • 2015-01-26 14:15
  • 31.10MB
  • 下载

八、Go语言包之strings--go语言学习笔记

package mainimport ( "fmt" "unicode" "strings" ) func main() { //是否存在某个字符串 str :...

golang 1.4.1 win32压缩包

  • 2015-01-26 14:25
  • 27.72MB
  • 下载

golang的Eclipse插件包

  • 2016-10-17 09:37
  • 10.13MB
  • 下载

Go语言学习之strings包(the way to go)

生命不止,继续 go go go !!!今天跟大家分享的是stirngs包,为我们提供了一些方便的字符串操作。这里需要注意一下,不引入strings包同样是可以使用string定义变量的。之前的博客结...

Golang Sublime-Text-2中文包

golang 中strconv包用法

本文转自Golove博客:http://www.cnblogs.com/golove/p/3262925.html
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)