Go语言的字符串类型
string是Go语言的基本数据类型
string的数据结构:
1 2 3 4 5 6
|
type stringStruct struct { str unsafe.Pointer len int }
|
- 1.string可以为空(长度为0),但不会是nil;
- 2.string对象不可以修改;
字符串类型常用类型转换
项目中经常需要在string和字节切片[]byte之间转换
1 2 3 4 5 6
| func stringToByte() { s:= "Hello" b:= []byte(s) fmt.Pringln(b) }
|
1 2 3 4 5 6
| func byteToString() { b:= []byte('H', 'e', 'l', 'l', 'o') s:= string(b) fmt.Pringln(s) }
|
常用字符串函数(标准库函数)
1
| func Contains(s, substr string) bool // 检查字符串s中是否包含子串substr
|
1
| func Split(s, sep string) []string // 将字符串s,根据分隔符sep拆分并生成子串的切片
|
1
| func Join(elems []string, sep string) string // 将字符串切片elems中的元素,使用分隔符sep拼接成单个字符串
|
1
| func HasPrefix(s, prefix string) bool // 检查字符串s中是否包含前缀prefix
|
1
| func HasSuffix(s, suffix string) bool // 检查字符串s中是否包含后缀缀suffix
|
1
| func ToUpper(s string) string // 将字符串s中的所有字符转换成大写
|
1
| func ToLower(s string) string // 将字符串s中的所有字符转换成小写
|
1
| func Trim(s string, cutset string) string // 清除字符串s首部和尾部cutset中的字符
|
1
| func TrimSpace(s string) string // 清除字符串s首部和尾部所有空白字符
|
1
| func Replace(s, old, new string, n int) string // 字符串替换,将字符串s的前n个子串中的old替换成子串new
|
1
| func ReplaceAll(s, old, new string) string // 将字符串s中的所有子串old替换成子串new
|
1
| func EqualFold(s, t string) bool // 忽略大小写、比较两个子串是否相等
|