字符串处理函数:

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)
}