📅  最后修改于: 2023-12-03 15:31:01.929000             🧑  作者: Mango
Golang 中的字符串是一种不可变的 type,它的内部实现是一个只读的 byte slice,也就是我们常见的 []byte 类型。Golang 为了方便对字符串的处理,提供了一个内置的字符串包 strings
。
Length
函数Length
函数会返回字符串的长度,它是根据字符串的 byte 数计算的,所以中文字符会算作多个 byte。示例代码如下:
package main
import (
"fmt"
)
func main() {
str := "hello, world"
fmt.Println(len(str)) // 输出 12
str = "你好,世界"
fmt.Println(len(str)) // 输出 13
}
Join
函数Join
函数会将一个字符串数组用指定的分隔符连接成一个字符串返回。示例代码如下:
package main
import (
"fmt"
"strings"
)
func main() {
strs := []string{"hello", "world", "!"}
fmt.Println(strings.Join(strs, ", ")) // 输出 hello, world, !
}
Split
函数Split
函数会将一个字符串按照指定的分隔符分成一个字符串数组并返回。示例代码如下:
package main
import (
"fmt"
"strings"
)
func main() {
str := "hello, world!"
strs := strings.Split(str, ", ")
for _, s := range strs {
fmt.Println(s)
}
// 输出 hello 和 world!
}
Contains
函数Contains
函数会判断一个字符串是否包含指定的字符串,返回一个布尔值。示例代码如下:
package main
import (
"fmt"
"strings"
)
func main() {
str := "hello, world!"
fmt.Println(strings.Contains(str, "world")) // 输出 true
fmt.Println(strings.Contains(str, "good")) // 输出 false
}
Replace
函数Replace
函数会将一个字符串中指定的字符替换成指定的字符,返回一个新的字符串。示例代码如下:
package main
import (
"fmt"
"strings"
)
func main() {
str := "hello, world!"
newStr := strings.Replace(str, "o", "*", -1) // 将 o 替换成 *
fmt.Println(newStr) // 输出 hell*, w*rld!
}
以上仅是 strings
包中常用的函数,更多的 API 可查看 Golang 官方文档。