Golang基础——字符串方法

字符串常用函数

func main() {
	a := "hello worldeee"
	fmt.Println(strings.Contains(a, "h")) // h是否存在于a
	s := []string{"123", "456"}
	fmt.Println(strings.Join(s, ""))             // 将切片用控制串拼接
	fmt.Println(strings.Index(a, "q"))           // q在字符串的索引,没有就是 -1
	fmt.Println(strings.Repeat("abc", 10))       // 重复abc 10次
	fmt.Println(strings.Replace(a, "e", "l", 1)) // 替换1次,用l替换a中的e;负数次数为全部替换
	b := "111-222-333"
	fmt.Println(strings.Split(b, "-"))        // 用-分割b,为切片
	fmt.Printf("%T
", strings.Split(b, "-")) // []string
	c := "   111  11   "
	fmt.Println(strings.Trim(c, " ")) // 去除两端的空格字符
	fmt.Println(strings.Fields(c))    // 去除字符串中的空格,转为切片,统计单词的个数
}

字符串类型转换

func main() {
	a := "hello worldeee"
	s := []byte(a)
	fmt.Println(s) // [104 101 108 108 111 32 119 111 114 108 100 101 101 101]
	s1 := []byte{1, 97, 97}
	a1 := string(s1)
	fmt.Println(s1)
	fmt.Println(a1) // aa

	// 转为字符串
	fmt.Println(strconv.FormatBool(false))             // false
	fmt.Printf("%T
", strconv.FormatBool((true)))     // string
	fmt.Println(strconv.FormatInt(120, 10))            // 把 120 转为 10进制的字符串
	fmt.Println(strconv.FormatFloat(1.22, 'f', 3, 32)) // 1.22 3为小数
	fmt.Println(strconv.Itoa(111))                     // 把整数转为字符串

	// 字符串转为其他类型
	b, err := strconv.ParseBool("true") // 字符串转为bool
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(b)
	}
	fmt.Println(strconv.ParseInt("123", 10, 64))   // 字符串转为整型 123 <nil>
	fmt.Println(strconv.ParseFloat("3.11111", 64)) // 3.11111 <nil>
	fmt.Println(strconv.Atoi("12345"))             // 12345 <nil>

	// 将其他类型转为字符串,添加到切片
	s := make([]byte, 0, 1024)
	s = strconv.AppendBool(s, false)
	fmt.Println(s)         // [102 97 108 115 101]
	fmt.Println(string(s)) // false
	s = strconv.AppendInt(s, 11111, 10)
	fmt.Println(string(s)) // false11111
	s = strconv.AppendFloat(s, 1.111, 'f', 3, 64)
	fmt.Println(string(s)) // false111111.111
	s = strconv.AppendQuote(s, "gogogo")
	fmt.Println(string(s)) // false111111.111"gogogo"
}
原文地址:https://www.cnblogs.com/pythonwl/p/14683365.html