package main import ( "fmt" "strconv" "strings" ) func main(){ //统计字符串的长度,按字节len() //golang的编码同意为utf-8(ascii的字符(字母和数字)占一个字节,汉字占3个) str := "hello呗" fmt.Println("str len = ",len(str)) str1 := "hello就是" //字符串遍历,同时处理中文的问题 r :=[]rune(str) r := []rune(str1) for i:= 0;i<len(r);i++ { fmt.Printf("字符=%c\n",r[i]) } //字符串转整数:中文不能转为整数,会报错 n,err := strconv.Atoi("123") if err != nil { fmt.Println("转换错误:",err) }else{ fmt.Println("结果是:",n) } //整数转字符串 str = strconv.Itoa(123) fmt.Printf("str= %v,str=%T\n",str,str)//str= 123,str=string //当字符串要存入二进制文件的时候,就要将字符串转为byte切片 b := []byte("hello") fmt.Printf("byte = %v\n",b)//byte = [104 101 108 108 111] //byte转字符串: str = string([]byte{104,105}) fmt.Printf("str=%v\n",str)//str=hi //十进制转2,8,16进制,结果是: //2进制是1111011 //16进制是:7b str = strconv.FormatInt(123,2) fmt.Printf("2进制是%v\n",str) str = strconv.FormatInt(123,16) fmt.Printf("16进制是:%v\n",str) //查找子串是否在指定的字符串中,结果为true或者false k := strings.Contains("hello","he") fmt.Printf("k=%v\n",k) //统计一个字符串中有几个字串‘ n = strings.Count("hello","he") fmt.Printf("数量是:%v\n",n) //数量是:1 //比较字符串 //'==' 是区分字母大小写的 s1 := "123h" s2 := "123H" fmt.Printf("结果是%v\n",s1==s2)//结果是false //比较字符串不区分大小写 s := strings.EqualFold("abc","Abc") fmt.Printf("结果=%v\n",s) //结果=true //返回子串在字符串第一次出现的index值,没有就返回1 index := strings.Index("hello","l") fmt.Printf("index=%v\n",index) ///index=2 //返回子串在字符串最后一次出现的位置 index = strings.LastIndex("hello","l") fmt.Printf("index=%v\n",index) ///index=2 //子串替换,1是换一个,2是换两个,-1是全部都换 str =strings.Replace("hello go go","go","world",1) fmt.Printf("str=%v",str) //按照指定字符将字符串分割成数组 /* str[0]=hello str[1]=world str[2]=go strArr=[hello world go] */ strArr :=strings.Split("hello,world,go",",") for i := 0; i<len(strArr); i++{ fmt.Printf("str[%v]=%v\n",i,strArr[i]) } fmt.Printf("strArr=%v\n",strArr) //字符串大小写转换 str = "golang Hello" str = strings.ToLower(str) //转换为小写 str = strings.ToUpper(str) //转换为大写 fmt.Println(str) //将字符串左右两边的空格去掉 str = strings.TrimSpace(" hello ") fmt.Printf("str=%v\n",str) //将字符串左右两边的指定字符去掉 str = strings.Trim("!hello!","!") fmt.Printf("str=%v\n",str) //将字符串左边指定的字符去掉 str = strings.TrimLeft("!hello!","!") fmt.Printf("str=%v\n",str) //将字符串右边指定的字符串去掉 str = strings.TrimRight("!hello!","!") fmt.Printf("str=%v\n",str) //判断字符串是否以指定的字符串开头 a := strings.HasPrefix("ftp://197","ftp") fmt.Println(a) //判断字符串是否以指定的字符串结束 a =strings.HasSuffix("a.jpg","jpg") fmt.Println(a) }
GO语言 关于字符串的一些函数
最新推荐文章于 2022-02-23 17:06:34 发布