1.字符串遍历,处理里边有中文问题
str := "hello北京"
str2 := []rune(str)
for i := 0; i < len(str2); i++ {
fmt.printf("字符=%c\n", str2[i])
}
2.字符串转整数和整数转字符串
n, err := strconv.Atoi("123")
if err != nil {
fmt.Println("转换错误, err=", err)
}else {
fmt.Println("转换结果", n)
}
str := strconv.Itoa(12345)
3.字符串转 []byte
var bytes = []byte("hello go")
fmt.printf("bytes= %v\n", bytes)
4.[]byte转字符串
str = string([]byte{96, 98, 90})
fmt.println(str)
5. 10进制转2, 8, 16 进制
str = strconv.FormatInt(123, 2)
str = strconv.FormatInt(123, 8)
str = strconv.FormatInt(123, 16)
6. 查找子串是否在指定字符串中
b := strings.Contains("asdfggg", "ggg")
fmt.println(b)
7. 统计字符串中有几个指定的子串
num := strings.Count("aaabbb", "a")
fmt.println(num)
8. 不区分大小写的字符串比较(==区分大小写)
b := strings.EqualFold("abc", "Abc")
fmt.println(b)
9. 返回子串在指定字符串中第一次出现的下标
index := strings.Index("abcdef", "ef")
fmt.println(index)
10. 返回子串在指定字符串中最后一次出现的下标
index := strings.LastIndex("go golang", "go")
fmt.println(index)
11. 将指定的子串替换成另一个子串
str := "go go hello"
str = strings.Replace(str2, "go", "hello", -1)
fmt.println(str)
12. 分割字符串
strArr := strings.Split("hello world ok", " ")
for i := 0; i < len(strArr); i++ {
fmt.println(strArr[i])
}
13. 将字符串的字母进行大小写转换
str := "golang Hello"
str = strings.ToLower(str)
fmt.println(str)
str = strings.ToUpper(str)
fmt.println(str)
14. 去除字符串两边的空格
str := strings.TrimSpace(" n b c ")
fmt.println(str)
15. 将字符串两边指定的字符去掉
str := strings.Trim("! hello !", "!")
str := strings.TrimLeft("! hello !", "!")
str := strings.TrimRight("! hello !", "!")
fmt.println(str)
16.判断字符串是否以某字符串开头或者结尾
b := strings.HasPrefix("abdme", "ab")
fmt.println(b)
b := strings.HasSuffix("abcme", "me")
fmt.println(b)