[笔记] Golang String

loveyx · · 4794 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "strconv"
 6     "strings"
 7 )
 8 
 9 func main() {
10     // strings demo
11     Contains()
12     Join()
13     Index()
14     Repeat()
15     Replace()
16     Split()
17 
18     // strconv demo
19     AppendDemo()
20     FormatDemo()
21     ParseDemo()
22 }
23 
24 func Contains() {
25     fmt.Println(strings.Contains("seafood", "foo")) //true
26     fmt.Println(strings.Contains("seafood", "bar")) //false
27 }
28 
29 func Join() {
30     s := []string{"foo", "bar", "baz"}
31     fmt.Println(strings.Join(s, ",")) // foo,bar,baz
32 }
33 
34 func Index() {
35     fmt.Println(strings.Index("chicken", "ken")) // 4
36     fmt.Println(strings.Index("chicken", "dmr")) // -1
37 }
38 
39 func Repeat() {
40     fmt.Println("ba" + strings.Repeat("na", 2)) // banana
41 }
42 
43 func Replace() {
44     fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2))      // oinky oinky oink
45     fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1)) // moo moo moo
46 }
47 
48 func Split() {
49     fmt.Printf("%q\n", strings.Split("a,b,c", ","))                        //["a" "b" "c"]
50     fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a ")) //["" "man " "plan " "canal panama"]
51     fmt.Printf("%q\n", strings.Split(" xyz ", ""))                         //[" " "x" "y" "z" " "]
52     fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins"))            //[""]
53 }
54 
55 func AppendDemo() {
56     str := make([]byte, 0, 100)
57     str = strconv.AppendInt(str, 4567, 10)
58     str = strconv.AppendBool(str, false)
59     str = strconv.AppendQuote(str, "abcdefg")
60     str = strconv.AppendQuoteRune(str, '')
61     fmt.Println(string(str)) //4567false"abcdefg"''
62 }
63 
64 func FormatDemo() {
65     a := strconv.FormatBool(false)
66     b := strconv.FormatFloat(123.23, 'g', 12, 64)
67     c := strconv.FormatInt(1234, 10)
68     d := strconv.FormatUint(12345, 10)
69     e := strconv.Itoa(1023)
70     fmt.Println(a, b, c, d, e) // false 123.23 1234 12345 1023
71 }
72 
73 func ParseDemo() {
74     a, err := strconv.ParseBool("false")
75     handleErr(err)
76     b, err := strconv.ParseFloat("123,23", 64)
77     handleErr(err)
78     c, err := strconv.ParseInt("1234", 10, 64)
79     handleErr(err)
80     d, err := strconv.ParseUint("12345", 10, 64)
81     handleErr(err)
82     e := strconv.Itoa(1023)
83     handleErr(err)
84     fmt.Println(a, b, c, d, e) // false 0 1234 12345 1023
85 }
86 
87 func handleErr(err error) {
88     if err != nil {
89         fmt.Println(err)
90     }
91 }

 


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:loveyx

查看原文:[笔记] Golang String

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4794 次点击  
加入收藏 微博
0 回复
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传