go的strings用法

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

相关推荐
_院长大人_1 小时前
设计模式-工厂模式
java·开发语言·设计模式
MATLAB代码顾问1 小时前
MATLAB实现决策树数值预测
开发语言·决策树·matlab
码事漫谈2 小时前
C++死锁深度解析:从成因到预防与避免
后端
码事漫谈2 小时前
智能体颠覆教育行业:现状、应用与未来展望调研报告
后端
蓝-萧2 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
priority_key2 小时前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
韩立学长2 小时前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
不染尘.3 小时前
2025_11_7_刷题
开发语言·c++·vscode·算法
似水এ᭄往昔3 小时前
【C++】--stack和queue
开发语言·c++
csbysj20203 小时前
R 绘图 - 散点图
开发语言