Go语言入门笔记(四)
字符串常用函数
字符串查找
strings.Contains()
1
2
3
4
5
6
7
8
9
10
11import (
"fmt"
"strings"
)
func main() {
s := "hello world"
fmt.Println(strings.Contains(s, "hello"), strings.Contains(s, "?"))
}
// true false
字符串下标
strings.Index()
1
2
3
4
5
6
7
8
9
10
11import (
"fmt"
"strings"
)
func main() {
s := "hello world"
fmt.Println(strings.Index(s, "o"))
}
// 4字符串分割
strings.Split()
1
2
3
4
5
6
7
8
9
10
11import (
"fmt"
"string"
)
func main() {
ss := "1#2#34#567"
fmt.Println(strings.Split(ss, "#"))
}
// [1 2 34 567]字符串合并
strings.join()
1
2
3
4
5
6
7
8
9
10
11
12
13
14import (
"fmt"
"strings"
)
func main() {
ss := "1#2#34#567"
splitStr := strings.Split(ss, "#")
fmt.Println(strings.Join(splitStr, "%"))
}
// 1%2%34%567判断前缀、后缀
strings.HasPrefix()
strings.HasSuffix()
1
2
3
4
5
6
7
8
9
10
11
12import (
"fmt"
"strings"
)
func main() {
s := "hello world"
fmt.Println(strings.HasPrefix(s, "he"))
fmt.Println(strings.HasSuffix(s, "ld"))
}
// true true字符串转换
- 整型转字符串型
strconv.Itoa()
1
2
3
4
5
6
7
8
9
10
11
12
13import (
"fmt"
"reflect"
"strconv"
)
func main() {
i := 100
s := strconv.Itoa(i)
fmt.Println(s, reflect.TypeOf(s))
}
// 100 string - 字符串型转整型
strconv.Atoi()
1
2
3
4
5
6
7
8
9
10
11
12
13import (
"fmt"
"reflect"
"strconv"
)
func main() {
i := "100"
s, err := strconv.Atoi(i)
fmt.Println(s, reflect.TypeOf(s), err)
}
// 100 int <nil>
- 整型转字符串型
字符串解析、格式化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16import (
"fmt"
"reflect"
"strconv"
)
func main() {
// 解析
fmt.Println(strconv.ParseBool("false"))
fmt.Println(strconv.ParseFloat("3.14", 64))
// 格式化
fmt.Println(strconv.FormatBool(true), reflect.TypeOf(strconv.FormatBool(true)))
fmt.Println(strconv.FormatInt(123, 2), reflect.TypeOf(strconv.FormatInt(123, 2)))
}以上输入:
1
2
3
4false <nil>
3.14 <nil>
true string
1111011 string
结构体序列化和反序列化
1 | import ( |
以上输出结果为:
1 | <Person> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mr.Wantの博客!