1 第一单元 常用标准包(一)
  2 
  3 1.学习目标
  4 
  5 1. 掌握strings常用函数使用
  6 2. 掌握strconv常用函数使用
  7 3. 熟悉encoding常用函数使用
  8 
  9 2.strings标准包
 10 
 11 2.1 Contains
 12 
 13 用途:字符串包含关系
 14 
 15 用法: strings.Contains(s, substr string) bool
 16 
 17 代码示例
 18 
 19     package main
 20     
 21     import (
 22         "fmt"
 23         "strings"
 24     )
 25     
 26     func main() {
 27         studentName := "Jim"
 28         fmt.Println(strings.Contains(studentName, "im")) //包含关系 true/false
 29     
 30     }
 31     
 32 
 33 2.2 HasSuffix
 34 
 35 用途:包含前缀
 36 
 37 用法: strings.HasSuffix(s, substr string) bool
 38 
 39 代码示例
 40 
 41     studentName := "Jim" 
 42     fmt.Println(strings.HasSuffix(studentName, "im"))
 43 
 44 2.3 HasPrefix
 45 
 46 用途:前缀
 47 
 48 用法:strings.HasPrefix(s, prefix string) bool
 49 
 50 代码示例
 51 
 52     package main
 53     
 54     import (
 55         "fmt"
 56         "strings"
 57     )
 58     
 59     func main() {
 60     
 61         studentName := "Jim"
 62         fmt.Println(strings.HasSuffix(studentName, "im"))
 63     
 64     }
 65     
 66 
 67 2.4 Index
 68 
 69 用途:子串索引
 70 
 71 用法:strings.Index(s, str string)  int
 72 
 73 Index返回字符串str在字符串s中的索引(str的第一个字符的索引)
 74 
 75 -1表示字符串s不包含字符串str
 76 
 77 代码示例
 78 
 79     package main
 80     
 81     import (
 82         "fmt"
 83         "strings"
 84     )
 85     
 86     func main() {
 87         str := "hello"
 88         fmt.Println(strings.Index(str, "e"))
 89     }
 90 
 91 2.5 Replace
 92 
 93 用途:字符串替换
 94 
 95 用法:strings.Replace(s, old, new string, n int) string
 96 
 97 代码示例
 98 
 99     package main
100     
101     import (
102         "fmt"
103         "strings"
104     )
105     
106     func main() {
107         str := "goooooole"
108         fmt.Println(strings.Replace(str, "o", "P", -1))
109     
110         fmt.Println("non-overlapping: ")
111         // n < 0 ,用 替换所有匹配;n=-1:
112         fmt.Println("n=-1: ", strings.Replace(str, "o", "P", -1))
113     
114         // 不替换任何匹配的 n=0:
115         fmt.Println("n=0: ", strings.Replace(str, "o", "P", 0))
116     
117         // 替换第一个匹配的 old;n=1:
118         fmt.Println("n=1: ", strings.Replace(str, "o", "P", 1))
119     
120         // 替换前 5 个匹配的;n=5:
121         fmt.Println("n=5: ", strings.Replace(str, "o", "P", 5))
122     
123         // 替换前 7 个匹配上的;n=7:
124         fmt.Println("n=7: ", strings.Replace(str, "o", "P", 7))
125     }
126     
127     
128 
129 2.6 join
130 
131 用途:把[]string的切片合并成一个string,并且以sep为分隔符
132 
133 用法: strings.Join(s []string,sep string) string
134 
135 代码示例
136 
137     package main
138     
139     import (
140         "fmt"
141         "strings"
142     )
143     
144     func main() {
145         a := "hahaha"
146         b := "hehehe"
147         c := strings.Join([]string{a, b}, ",")
148         fmt.Println(c)
149     
150     }
151 
152 2.8 Split
153 
154 用途:切割字符串为数组
155 
156 用法:array strings.Split(s,sep) 
157 
158 示例:
159 
160     package main
161     
162     import (
163         "fmt"
164         "strings"
165     )
166     
167     func main() {
168         s := strings.Split("a,b,c,d", ",")
169         fmt.Println(s)
170     
171     }
172 
173 2.9 ToUpper
174 
175 用途:转为小写
176 
177 用法:strings.ToUpper(s)  string
178 
179     package main
180     
181     import (
182         "fmt"
183         "strings"
184     )
185     
186     func main() {
187         str2 := "hello,world"
188         fmt.Println(strings.ToUpper(str2)) //转为大写 输出结果:HELLO,WORLD
189     
190     }
191 
192 
193 
194 2.10 ToLower
195 
196 用途:转为小写
197 
198 用法:strings.ToLower(string)  string
199 
200     package main
201     
202     import (
203         "fmt"
204         "strings"
205     )
206     
207     func main() {
208         str2 := "hello,world"
209         fmt.Println(strings.ToLower(str2)) //转为小写 输出结果:HELLO,WORLD
210     }
211     
212 
213 2.11 Trim
214 
215 用途:返回将 s 前后端所有 cutset 包含的 utf-8 码值都去掉的字符串
216 
217 用法:strings.Trim(s string, cutset string) string
218 
219     package main
220     
221     import (
222         "fmt"
223         "strings"
224     )
225     func main() {
226         str2 := "   hello,world   |"
227         fmt.Println(strings.Trim(str2, "|")) 
228     
229     }
230 
231 
232 
233 2.12 TrimSpace
234 
235 用途:将最前面和最后面的ASCII定义的空格去掉,中间的空格不会去掉,如果遇到了等其他字符会认为是非空格
236 
237 用法:strings.TrimSpace(s string) string
238 
239     package main
240     
241     import (
242         "fmt"
243         "strings"
244     )
245     
246     func main() {
247         str2 := "   hello,world   "
248         fmt.Println(strings.TrimSpace(str2)) //转为大写 输出结果:HELLO,WORLD
249     
250     }
251 
252 2.13 TrimLeft
253 
254 用途:去掉字符串首cut字符
255 
256 用法:strings.TrimLeft(str string, cut string)
257 
258     package main
259     
260     import (
261         "fmt"
262         "strings"
263     )
264     
265     func main() {
266         str2 := "   hello,world   "
267         fmt.Println(strings.TrimLeft(str2, " "))
268     }
269     
270 
271 2.14 TrimRight
272 
273 用途:去掉字符串末尾cut字符
274 
275 用法:strings.TrimSpace(s string) string
276 
277     package main
278     
279     import (
280         "fmt"
281         "strings"
282     )
283     
284     func main() {
285         str2 := "   hello,world   "
286         fmt.Println(strings.TrimRight(str2)) //转为大写 输出结果:HELLO,WORLD
287     
288     }
289 
290 
291 
292 3.strconv标准包
293 
294 3.1 Atoi()
295 
296 用途:字符串转换为整型
297 
298 用法:strconv.Atoi(string)
299 
300 示例:
301 
302     package main
303     
304     import (
305         "fmt"
306         "strconv"
307     )
308     
309     func main() {
310         //strconv的使用
311     
312         s1 := "100"
313         fmt.Printf("s1转换之前的类型:%Tn", s1)
314         i1, err := strconv.Atoi(s1)
315         if err != nil {
316             fmt.Println("can't convert to int")
317         } else {
318             fmt.Printf("type:%T value:%vn", i1, i1) //type:int value:100
319         }
320     
321         i2 := 200
322         s2 := strconv.Itoa(i2)
323         fmt.Printf("type:%T value:%vn", s2, s2) //type:string value:"200"
324     
325     }
326 
327 2.8 Itoa()
328 
329 用途:整型转为字符串
330 
331 用法:int strings.Itoa(s) 
332 
333 示例:
334 
335     package main
336     
337     import (
338         "fmt"
339         "strconv"
340     )
341     
342     func main() {
343         //strconv的使用
344         i2 := 200
345         s2 := strconv.Itoa(i2)
346         fmt.Printf("type:%T value:%vn", s2, s2) //type:string value:"200"
347     
348     }
349 
350 
351 
352 4.encoding标准包
353 
354 4.1 base64编码概念
355 
356 Base64是一种最常见的用于传输8Bit字节码的编码方式
357 
358 4.2 base64 编码
359 
360 用途:base64编码
361 
362 用法:string base64.StdEncoding.EncodeToString(string)
363 
364 示例:
365 
366     package main
367     
368     import (
369         "encoding/base64"
370         "fmt"
371     )
372     
373     func main() {
374         input := []byte("hello world")
375         // 演示base64编码
376         encodeString := base64.StdEncoding.EncodeToString(input)
377         fmt.Println(encodeString)
378     
379     }
380 
381 4.3 base64 解码
382 
383 用途:base64解码
384 
385 用法: base64.StdEncoding.DecodeString(string) string
386 
387 示例:
388 
389     package main
390     
391     import (
392         "fmt"
393         "encoding/base64"
394     )
395     
396     func main() {
397         input := []byte("hello world")
398         // 演示base64编码
399         encodeString := base64.StdEncoding.EncodeToString(input)
400         fmt.Println(encodeString)
401     
402         // 对上面的编码结果进行base64解码
403         decodeBytes, err := base64.StdEncoding.DecodeString(encodeString)
404         if err != nil {
405             log.Fatalln(err)
406         }
407         fmt.Println(string(decodeBytes))
408     
409     }

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/xfsong/p/13061216.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程

5504 0元 9.8元 限免