mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-19 17:49:02 +08:00
new file: 18.10.md new file: 18.11.md new file: 18.2.md new file: 18.3.md new file: 18.4.md modified: 18.5.md new file: 18.6.md new file: 18.7.md new file: 18.8.md new file: 18.9.md modified: directory.md
1.1 KiB
1.1 KiB
18.1 字符串
(1)如何修改字符串中的一个字符:
str:="hello"
c:=[]byte(s)
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)) //TBD`
(5)如何连接字符串:
最快速:
`with a bytes.Buffer`(参考[章节7.2](07.2.md))
`Strings.Join()`(参考[章节4.7](04.7.md))
`+=`
str1 := "Hello "
str2 := "World!"
str1 += str2 //str1 == "Hello World!"
(6)如何解析命令行参数:使用os
或者flag
包
(参考[例12.4](examples/chapter_12/fileinput.go))
链接
- 目录
- 上一节:出于性能考虑的实用代码片段
- 下一节:数组和切片