-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
147 lines (142 loc) · 6.45 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package main
import(
"fmt"
"strings"
)
func main() {
//fmt.Println("查找子串是否在指定的字符串中")
//fmt.Println(" Contains 函数的用法")
//fmt.Println(strings.Contains("seafood", "foo")) //true
//fmt.Println(strings.Contains("seafood", "bar")) //false
//fmt.Println(strings.Contains("seafood", "")) //true
//fmt.Println(strings.Contains("", "")) //true 这里要特别注意
//fmt.Println(strings.Contains("我是中国人", "我")) //true
//fmt.Println("")
//fmt.Println(" ContainsAny 函数的用法")
//fmt.Println(strings.ContainsAny("team", "i")) // false
//fmt.Println(strings.ContainsAny("failure", "u & i")) // true
//fmt.Println(strings.ContainsAny("foo", "")) // false
//fmt.Println(strings.ContainsAny("", "")) // false
//fmt.Println("")
//fmt.Println(" ContainsRune 函数的用法")
//fmt.Println(strings.ContainsRune("我是中国", '我')) // true 注意第二个参数,用的是字符
//fmt.Println("")
fmt.Println(" Count 函数的用法")
fmt.Println(strings.Count("cheese", "e")) // 3
fmt.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")) // 返回第一个匹配字符的位置,这里是4
//fmt.Println(strings.Index("NLT_abc", "aaa")) // 在存在返回 -1
//fmt.Println(strings.Index("我是中国人", "中")) // 在存在返回 6
//fmt.Println("")
//fmt.Println(" IndexAny 函数的用法")
//fmt.Println(strings.IndexAny("我是中国人", "中")) // 在存在返回 6
//fmt.Println(strings.IndexAny("我是中国人", "和")) // 在存在返回 -1
//fmt.Println("")
//fmt.Println(" Index 函数的用法")
//fmt.Println(strings.IndexRune("NLT_abc", 'b')) // 返回第一个匹配字符的位置,这里是4
//fmt.Println(strings.IndexRune("NLT_abc", 's')) // 在存在返回 -1
//fmt.Println(strings.IndexRune("我是中国人", '中')) // 在存在返回 6
//fmt.Println("")
//fmt.Println(" Join 函数的用法")
//s := []string{"foo", "bar", "baz"}
//fmt.Println(strings.Join(s, ", ")) // 返回字符串:foo, bar, baz
//fmt.Println("")
//fmt.Println(" LastIndex 函数的用法")
//fmt.Println(strings.LastIndex("go gopher", "go")) // 3
//fmt.Println("")
//fmt.Println(" LastIndexAny 函数的用法")
//fmt.Println(strings.LastIndexAny("go gopher", "go")) // 4
//fmt.Println(strings.LastIndexAny("我是中国人", "中")) // 6
//fmt.Println("")
//fmt.Println(" Map 函数的用法")
//rot13 := func(r rune) rune {
// switch {
// case r >= 'A' && r <= 'Z':
// return 'A' + (r-'A'+13)%26
// case 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)) //banana
//fmt.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")) //gopher
//fmt.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)) // aBaaCEDF
//fmt.Println("")
//fmt.Println(" ToUpper 函数的用法")
//fmt.Println(strings.ToUpper("Gopher")) //GOPHER
//fmt.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
}