18.1 字符串

最后更新于:2022-04-01 20:58:52

(1)如何修改字符串中的一个字符: ~~~ str:="hello" c:=[]byte(str) c[0]='c' s2:= string(c) // s2 == "cello" ~~~ (2)如何获取字符串的子串: ~~~ substr := str[n:m] ~~~ (3)如何使用`for`或者`for-range`遍历一个字符串: ~~~ // gives only the bytes: for i:=0; i < len(str); i++ { … = str[i] } // gives the Unicode characters: for ix, ch := range str { … } ~~~ (4)如何获取一个字符串的字节数:`len(str)` 如何获取一个字符串的字符数: 最快速:`utf8.RuneCountInString(str)` `len([]int(str))` (5)如何连接字符串: 最快速: `with a bytes.Buffer`(参考[章节7.2](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/07.2.md)) `Strings.Join()`(参考[章节4.7](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/04.7.md)) 使用`+=`: ~~~ str1 := "Hello " str2 := "World!" str1 += str2 //str1 == "Hello World!" ~~~ (6)如何解析命令行参数:使用`os`或者`flag`包 (参考[例12.4](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/examples/chapter_12/fileinput.go))
';