18.1.md 1.1 KB

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

链接