字符串,常用的系统函数
package main import ( "fmt" "strconv" "strings" ) func main() { // 计算字符串长度 // str := "asd啊" // 6 str1 := "asd" // 3 fmt.Println("str长度=",len(str1)) // 字符串遍历,含有中文 str2 := "hi,你好" r := []rune(str2) for i := 0;i < len(r);i++ { fmt.Printf("字符=%c \n",r[i]) } // 字符串 转 整数 // n,err := strconv.Atoi("aasd") n,err := strconv.Atoi("666") if err != nil { fmt.Println("转换错误",err) // 转换失败,打印 提示 } else { fmt.Println("转换结果=",n) // 666 } // 整数 转 字符串 str3 := strconv.Itoa(12345) fmt.Printf("str=%v,str类型=%T",str3,str3) fmt.Printf("\n") // 字符串 转 []byte var bytes = []byte("hello world") fmt.Printf("bytes=%v \n",bytes) // []byte 转 字符串 str4 := string([]byte{97,98,99}) fmt.Printf("str=%v \n",str4) // 10进制 转 2,8,16进制 str5 := strconv.FormatInt(666,2) fmt.Printf("666对应的二进制是 %v \n",str5) str6 := strconv.FormatInt(666,8) fmt.Printf("666对应的八进制是 %v \n",str6) // 查找子串是否在指定的字符串中 b1 := strings.Contains("asd","a") // true fmt.Printf("b1 = %v \n",b1) // 统计一个字符串,有几个指定的子串 num := strings.Count("asda","a") // 2个 fmt.Printf("num = %v \n",num) // 不区分大小写的字符串比较(==是区分字母大小写的) b2 := strings.EqualFold("abc","ABC") // true fmt.Printf("b2 = %v \n",b2) // 返回子串在字符串中出现的index,如果没有返回-1 index1 := strings.Index("aba","a") fmt.Printf("aba第一次出现a的位置,index1 = %v \n",index1) index2 := strings.LastIndex("aba","a") fmt.Printf("aba最后一次出现a的位置,index2 = %v \n",index2) // 替换指定的字符串,2为替换两个,-1 全部替换 str7 := "go go go" str8 := strings.Replace(str7,"go","python",2) fmt.Printf("替换后的字符串为%v \n",str8) // 按照指定的分隔符,将字符串拆分为数组 strArr := strings.Split("absbdbf","b") for i := 0;i < len(strArr);i++ { fmt.Printf("分割后的元素 %v \n",strArr[i]) } // 字符串,大写或小写 str9 := "Python" str10 := strings.ToLower(str9) str11 := strings.ToUpper(str9) fmt.Printf("转换小写 %v \n",str10) fmt.Printf("转换大写 %v \n",str11) // 去除字符串左右两侧空格 str12 := strings.TrimSpace(" gogo go ") fmt.Printf("去除字符串左右空格,%v \n",str12) // 去除字符串左右两侧指定字符 str13 := strings.Trim("!asd!sfd!","!") // str13 := strings.TrimLeft("!asd!sfd!","!") // 去除左侧 // str13 := strings.TrimRight("!asd!sfd!","!") // 去除右侧 fmt.Printf("去除字符串左右固定字符,%v \n",str13) // 判断字符串是否以指定的字符串 开头/结尾 b3 := strings.HasPrefix("aassdd","a") // b3 := strings.HasSuffix("aassdd","d") // 判断是否 以d结尾 fmt.Printf("判断字符串是否以指定的字符串开头,%v \n",b3) }