Go 字符串常用系统函数

字符串常用系统函数

1.统计长度

len(str)

2.字符串遍历

r := []rune(str)

例:

func main() {
	s := "hello world"
	r := []rune(s)
	for i := 0; i < len(s); i++ {
		fmt.Printf("%c",r[i])
	}
}

3.字符串转整数

str := strconv.Atoi(s)

例:

func stringAtoi(s string) {
	n, err := strconv.Atoi(s)
	if err != nil {
		fmt.Println("转换错误:", err)
	} else {
		fmt.Println("转换成功:", n)
	}
}

func main() {
	stringAtoi("123")
	stringAtoi("1.2")
	stringAtoi("hello")
	n, _ := strconv.Atoi("hello")//不接收错误时,默认为0
	fmt.Println(n)
}
/*
转换成功: 123
转换错误: strconv.Atoi: parsing "1.2": invalid syntax
转换错误: strconv.Atoi: parsing "hello": invalid syntax
0
*/

4.整数转字符串

str := strconv.Itoa(num)

5.字符串转[]byte

bytes := []byte("hello")

注:

  • byte 等同于int8,常用来处理ascii字符
  • rune 等同于int32,常用来处理unicode或utf-8字符

6.[]byte转字符串

str := string([]byte{97,98,99})

7.10进制转 2,8,16进制

str1 := strconv.FormatInt(num,2)
str2 := strconv.FormatInt(num,8)
str3 := strconv.FormatInt(num,16)

8.查找子串是否在指定字符串中

b := strings.Contains("abcdefg","bcd")//true

9.统计字符串有几个指定的子串

num := strings.Count("abcabcabc","abc")//3

10.不区分大小写的字符串比较

b := strings.EqualFold("abc","ABC")

11.返回子串第一次出现的index,没有则返回-1

index := strings.Index("abcde","c")//2

12.返回子串最后一次出现的index,没有则返回-1

index := strings.LastIndex("abcccd","c")//4

13.替换指定子串

str1 := "hello world"
str2 := strings.Replace(str1, "world", "golang", -1)
//(指定字符串, 换掉的子串, 新的子串, 替换几个 -1表示全部)

14.分割字符串

strArr := strings.Split("aa,bb,cc",",")

15.大小写转换

str1 := strings.ToLower(str)
str2 := strings.ToUpper(str)

16.去字符串左右空格

str := strings.TrimSpace(s)

17.去字符串左右指定字符

str := strings.Trim("**abc**","**")

18.去掉字符串左边/右边字符

str := strings.TrimLeft("**abc**","**")
str := strings.TrimRight("**abc**","**")

19.判断字符串是否以指定字符串开头/结尾

b1 := strings.HasPrefix("abc","a")
b2 := strings.HasSuffix("abc","c")

参考资料:【尚硅谷】Golang入门到实战教程丨一套精通GO语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值