go 字符串常用函数
package main import ( "fmt" "strconv" "strings" ) func main() { // 字符串长度 str := "hello北" fmt.Println("str len():", len(str)) // 带中文的字符串变量 str2 := "hello北京" r := []rune(str2) for i := 0; i < len(r); i++ { fmt.Printf("字符=%c\n", r[i]) } // 字符串转整数 s, _ := strconv.Atoi("1234") fmt.Printf("%T\t%d\n", s, s) // 整数转字符串 fmt.Printf("%T\t%s\n", strconv.Itoa(1234), strconv.Itoa(1234)) //byte转字符串 str = string([]byte{97, 98, 99}) fmt.Printf("%T\t%s\n", str, str) str = string([]rune{'你', '是'}) fmt.Printf("%T\t%s\n", str, str) //十进制转2,8,16进制 str = strconv.FormatInt(123, 2) fmt.Printf("二进制:%v\n", str) str = strconv.FormatInt(123, 8) fmt.Printf("八进制:%v\n", str) str = strconv.FormatInt(123, 16) fmt.Printf("十六进制:%v\n", str) //字符串中是否包含某字符串 str = "fdsagfoo" fmt.Println("是否包含:", strings.Contains(str, "foo")) //替换字符串中的子串 str = "go go go go 性能好" //全部替换 fmt.Println("go 替换成 golang:", strings.Replace(str, "go", "golang", strings.Count(str, "go"))) // 统计字符出现次数 fmt.Println("出现次数:", strings.Count(str, "f")) // 查看字符串第一次出现的位置 fmt.Println("第一次出现位置:", strings.Index(str, "s")) //查看字符串最后一次出现的位置 fmt.Println("最后一次出现位置:", strings.LastIndex(str, "f")) // 判断两个字符是否相等(==区分大小写) fmt.Println("不区分大小写否相等:", strings.EqualFold("A", "a")) fmt.Println("区分大小写是否相等:", "A" == "a") // 判断字符串是否以指定字符串开头 fmt.Println("是否以hello开头:", strings.HasPrefix("hello world!", "hello")) // 判断是付出是否以指定字符串结尾 fmt.Println("是否以.jpg结尾:", strings.HasSuffix("wx.jpg", ".jpg")) // 字符串转换为小写 fmt.Println(strings.ToLower("GO")) // 字符串转换为大写 fmt.Println(strings.ToUpper("sonfer")) // 将字符串两边空格去掉 fmt.Println(strings.TrimSpace(" fdsag fdsa ")) // 去掉左右两边某些字符 fmt.Println(strings.Trim(" !hao sonf esa !", " s!ah")) // 去掉左边某些字符 fmt.Println(strings.TrimLeft(" !hao sonf esa !", " !")) // 去掉右边某些字符 fmt.Println(strings.TrimRight(" !hao sonf esa !", " !")) }