strings 是 Go 语言标准库中提供的一个包,用于处理字符串相关的操作。这个包包含了许多函数,可以用于字符串的切割、拼接、替换、查找等操作。下面是一些常用的 strings 包函数和用法示例:
package main
import (
"fmt"
"strings"
)
func main() {
// 字符串长度
str := "Hello, World!"
length := len(str)
fmt.Println("字符串长度:", length)
// 字符串切割
parts := strings.Split(str, ", ")
fmt.Println("切割结果:", parts)
// 字符串拼接
words := []string{"Hello", "World"}
joinedStr := strings.Join(words, ", ")
fmt.Println("拼接结果:", joinedStr)
// 字符串替换
replacedStr := strings.Replace(str, "World", "Gopher", 1)
fmt.Println("替换结果:", replacedStr)
// 字符串包含
contains := strings.Contains(str, "Hello")
fmt.Println("是否包含 \"Hello\":", contains)
// 字符串前缀和后缀判断
isPrefix := strings.HasPrefix(str, "Hello")
isSuffix := strings.HasSuffix(str, "!")
fmt.Println("是否以 \"Hello\" 开头:", isPrefix)
fmt.Println("是否以 \"!\" 结尾:", isSuffix)
// 字符串索引查找
index := strings.Index(str, "World")
fmt.Println("\"World\" 的索引:", index)
// 字符串重复
repeatedStr := strings.Repeat("abc", 3)
fmt.Println("重复三次:", repeatedStr)
// 字符串大小写转换
upperCase := strings.ToUpper(str)
lowerCase := strings.ToLower(str)
fmt.Println("大写:", upperCase)
fmt.Println("小写:", lowerCase)
// 去除字符串首尾的空白字符
trimmedStr := strings.TrimSpace(" Hello, World! ")
fmt.Println("去除首尾空白字符:", trimmedStr)
// 前后指定字符的去除
trimmedChars := strings.Trim("!Hello, World!!", "!")
fmt.Println("去除前后的 \"!\":", trimmedChars)
// 判断字符串是否为空或空白字符
isEmpty := strings.TrimSpace("") == ""
fmt.Println("字符串是否为空:", isEmpty)
// 字符串分割为字符切片
str := "Hello"
charSlice := strings.Split(str, "")
fmt.Println("字符切片:", charSlice)
// 字符串去除指定字符
removedChars := strings.ReplaceAll(str, "l", "")
fmt.Println("去除 \"l\":", removedChars)
// 字符串比较(区分大小写)
compare := strings.Compare("abc", "def")
fmt.Println("字符串比较:", compare)
// 字符串比较(不区分大小写)
compareIgnoreCase := strings.EqualFold("Go", "GO")
fmt.Println("不区分大小写比较:", compareIgnoreCase)
// 字符串查找(最后一次出现的索引)
lastIndex := strings.LastIndex(str, "l")
fmt.Println("最后一次出现 \"l\" 的索引:", lastIndex)
// 字符串判断前缀(多个前缀选择)
isPrefixAny := strings.HasPrefixAny(str, "H", "A")
fmt.Println("是否以 \"H\" 或 \"A\" 开头:", isPrefixAny)
// 字符串判断是否空白字符串
isBlank := strings.TrimSpace(" ") == ""
fmt.Println("是否是空白字符串:", isBlank)
}
上面示例中展示了 strings 包中的一些常用函数,当然还有其他更多函数可以满足不同的字符串处理需求。如果想要了解更多函数和用法,可以查阅 Go 官方文档中的 strings 包文档:https://pkg.go.dev/strings