字符串,常用的系统函数

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)

}

  

posted on 2021-04-06 17:43  二十四岁半  阅读(63)  评论(0编辑  收藏  举报

导航