func main() {
//统计字符串的长度,按字节len(str)
//golang的编码统一为utf-8,(ascii的字符(字母和数字)占一个字节,汉字占用3个字节)
str := "hello北"
fmt.Println(len(str))
//字符串遍历。同时处理中文的问题
r := []rune(str)
for i := 0; i < len(r); i++ {
fmt.Printf("字符=%c\n", r[i])
}
//字符串转换整数
atoi, err := strconv.Atoi("123")
if err != nil {
fmt.Println("转换错误", err)
} else {
fmt.Println("转换结果", atoi)
}
//整数转字符串
str3 := strconv.Itoa(1234)
fmt.Printf("str3=%v,str=%T\n", str3, str3)
//字符串转byte
bytes := []byte("hello")
fmt.Printf("bytes=%v\n", bytes)
//byte转字符串
str4 := string([]byte{97, 98, 99})
fmt.Println(str4)
//10进制转2,8,16
float := strconv.FormatInt(123, 2)
fmt.Println(float)
//找到指定字符
contains := strings.Contains(str, "北")
fmt.Println(contains)
//哦统计一个字符串有几个指定字符
count := strings.Count("straa", "a")
fmt.Println(count)
//字符串比较不区分大小写,==是区分的
fold := strings.EqualFold("abc", "ABC")
fmt.Println(fold)
//返回子串在字符串第一次出现的index,如果没有返回-1
index := strings.Index("abcdd", "d")
fmt.Println(index)
//返回子串在字符串最后一次出现的index,如果没有返回-1
aa := strings.LastIndex("abcdd", "d")
fmt.Println(aa)
//字符串替换
replace := strings.Replace("abcdd", "d", "F", -1)
fmt.Println(replace)
split := strings.Split("aa_vv_xx", "_")
for i := 0; i < len(split); i++ {
fmt.Println(split[i])
}
//字符串字母大小写转换
s := "goLang Hello"
s = strings.ToLower(s) //转小写
s = strings.ToUpper(s) //转大写
fmt.Println(s)
//将字符串左右两边的空格去掉
space := strings.TrimSpace(" te ss ff ")
fmt.Println(space)
//将字符串左右两边的指定字符串去掉
trim := strings.Trim("! hello!", "!")
fmt.Println(trim)
//将字符串左边的指定字符串去掉
trim = strings.TrimLeft("! hello!", "!")
fmt.Println(trim)
//将字符串右边的指定字符串去掉
trim = strings.TrimRight("! hello!", "!")
fmt.Println(trim)
//判断字符串是否指定字符串开头
prefix := strings.HasPrefix("ftp://192.168.0.1", "ftp")
fmt.Println(prefix)
//判断字符串是否指定字符串结尾
prefix = strings.HasSuffix("ftp://192.168.0.1", "ftp")
fmt.Println(prefix)
}
golang中字符串常用函数
最新推荐文章于 2025-04-06 07:10:34 发布