Go语言学习第七课-字符串

字符串是最常用的处理文本信息的数据结构,Go语言提供了强大的字符串操作库strings,里面含盖了各种方法。比如分隔字符串,大小写转换之类的,不做详细讲解,其它语言有的,Go语言基本都有,实际开发 时可以直接呼出strings进行查询。

这里主要说一下字符串与rune,我们之前在Go语言的内建变量讲到过rune,rune是Go语言的字符类型。

比如说,我们处理中文字符串时。

	s := "Yes你在干吗呢?"
	fmt.Printf("%s\n",[]byte(s))
for _,b := range []byte(s){
		//每个中文是三字节
		fmt.Printf("%X ",b)
	}

输出结果是59 65 73 E4 BD A0 E5 9C A8 E5 B9 B2 E5 90 97 E5 91 A2 EF BC 9F 21

每个中文是一个三字节的ASCII码,如果我们想逐一得到每个字符,其中一种方法是通过utf8类进行转码

fmt.Println("rune count:",utf8.RuneCountInString(s))
	bytes := []byte(s)
	for len(bytes)>0{
		//解码
		ch, size := utf8.DecodeRune(bytes)
		bytes = bytes[size:]
		fmt.Printf("%c ",ch)
	}

另一种方法是,我们把字符串转成字符数组,得到的就是转码后的utf-8的字符集

for i,ch := range []rune(s){
		//rune是四字节
		fmt.Printf("%d %c",i,ch)
	}

 

你可能感兴趣的:(Golang专区,Go语言开发与实战)