改变字符串中的某些字符
de >str := "hello roc"de>
de >bytes := []byte(str)de>
de >bytes[1] = 'a'de>
de >str = string(bytes) //str == "hallo roc"de>
de >substr := str[n:m] //截取从索引n到m-1的子串de>
de >//for遍历,此方式只能遍历存放ASCIIde>
de >//编码的字符串,比如中文就不行de>
de >for i := 0; i < len(str); i++ {de>
de > //... = str[i]de>
de >}de>
de >//for-range遍历,此方式可以遍历Unicodede>
de >//编码的字符串,不担心乱码de>
de >for index, char := range str {de>
de > fmt.Printf("%d %c\n",index,char)de>
de >}de>
de >//字符串中字符全为ASCII中的字符de>
de >len(str)de>
de >//字符串中含非ASCII的Unicode字符de>
de >utf8.RuneCountInString(str)de>
速度最快的写法:
de >var buf bytes.Bufferde>
de >buf.WriteString("hello ")de>
de >buf.WriteString("roc")de>
de >fmt.Println(buf.String()) //hello rocde>
还有如下两种方式:
de >str := strings.Join([]string{"hello"," world"},"")de>
de >fmt.Println(str)de>
de >str := "hello"de>
de >str += "roc"de>
de >
de>
© stevenzacker | Powered by LOFTER