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))
';