go string

  • 改变字符串中的某些字符

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