字符串处理函数:
package main
import (
"fmt"
"strings"
)
func main() {
// Contains 是否包含子字符串
fmt.Println(strings.Contains("aaabbbccc", "bbb"))
// Join 连接字符串
s := []string{"aaa", "bbb", "ccc"}
buf := strings.Join(s, ",")
fmt.Println(buf)
// Index 字符串所在位置,不存在返回-1
fmt.Println(strings.Index("ssscccaaaccc", "aaa"))
fmt.Println(strings.Index("ssscccaaaccc", "vvv"))
// Repeat
buf = strings.Repeat("golang", 3)
fmt.Println(buf)
// Split 分割字符串
buf = "aaa@bbb@ccc"
s1 := strings.Split(buf, "@")
fmt.Println(s1)
// Trim 去掉两头字符
buf = " hello "
s2 := strings.Trim(buf, " ")
fmt.Println(s2)
// Fields 将字符串按空格切成切片
s3 := strings.Fields(" aaa bbb ccc ")
fmt.Println(s3)
for i, data := range s3 {
fmt.Println(i, ",", data)
}
}字符串转换:
package main
import (
"fmt"
"strconv"
)
func main() {
// 转换后追加到字节数组中
slice := make([]byte, 0, 1024)
slice = strconv.AppendBool(slice, true)
slice = strconv.AppendInt(slice, 123, 10)
slice = strconv.AppendQuote(slice, "hello")
fmt.Println("slice = ", string(slice)) //把true 123 hello 转换后放入一个切片中
// 其他类型转为字符串
var str string
str = strconv.FormatBool(false)
str = strconv.FormatFloat(3.14, 'f', -1, 64)
str = strconv.Itoa(666)
fmt.Println("str = ", str)
// 字符串转其他类型
flag, err := strconv.ParseBool("true")
if err == nil {
fmt.Println(flag)
} else {
fmt.Println(err)
}
a, _ := strconv.Atoi("1234")
fmt.Println(a)
}