版权声明:本文为博主原创文章,转载请注明链接地址。谢谢! https://blog.csdn.net/wdy_2099/article/details/75073737
闲言少叙,上代码:
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
/*字符串基本操作--strings*/
str := "wangdy"
//是否包含
fmt.Println(strings.Contains(str, "wang"), strings.Contains(str, "123")) //true false
//获取字符串长度
fmt.Println(len(str)) //6
//获取字符在字符串的位置 从0开始,如果不存在,返回-1
fmt.Println(strings.Index(str, "g")) //3
fmt.Println(strings.Index(str, "x")) //-1
//判断字符串是否以 xx 开头
fmt.Println(strings.HasPrefix(str, "wa")) //true
//判断字符串是否以 xx 结尾
fmt.Println(strings.HasSuffix(str, "dy")) //true
//判断2个字符串大小,相等0,左边大于右边-1,其他1
str2 := "hahaha"
fmt.Println(strings.Compare(str, str2)) //1
//分割字符串
strSplit := strings.Split("1-2-3-4-a", "-")
fmt.Println(strSplit) //[1 2 3 4 a]
//组装字符串
fmt.Println(strings.Join(strSplit, "#")) //1#2#3#4#a
//去除字符串2端空格
fmt.Printf("%s,%s\n", strings.Trim(" 我的2边有空格 1 ", " "), "/////") //我的2边有空格 1,/////
//大小写转换
fmt.Println(strings.ToUpper("abDCaE")) //ABDCAE
fmt.Println(strings.ToLower("abDCaE")) //abdcae
//字符串替换:意思是:在sourceStr中,把oldStr的前n个替换成newStr,返回一个新字符串,如果n<0则全部替换
sourceStr := "123123123"
oldStr := "12"
newStr := "ab"
n := 2
fmt.Println(strings.Replace(sourceStr, oldStr, newStr, n))
/*字符串转换--strconv*/
//整型-字符串
fmt.Println(strconv.Itoa(12)) //12
//字符串-整型
num, err := strconv.Atoi("-315")
if err != nil {
fmt.Println("occur err : ", err)
} else {
fmt.Println("转换后的字符串是: ", num) //-315
}
//bool-字符串
fmt.Println(strconv.ParseBool("false")) //false <nil>
//float-字符串 传递一个位数
fmt.Println(strconv.ParseFloat("3.14", 32)) //3.140000104904175 <nil>
fmt.Println(strconv.ParseFloat("3.14", 64)) //3.14 <nil>
fmt.Println(strconv.ParseInt("343", 0, 64)) //343 <nil>
//格式化操作,传递进制数
fmt.Println(strconv.FormatBool(true))
fmt.Println(strconv.FormatInt(123, 10)) //123
fmt.Println(strconv.FormatInt(123, 2)) //1111011
fmt.Println(strconv.FormatInt(123, 16)) //7b
}
好了,这就是golang的字符串常用操作了,在strings包里还有一些其他的操作,感兴趣的请自行研究下吧。