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

相关推荐
psjasf131415 分钟前
使用Ideal创建一个spring boot的helloWorld项目
java·spring boot·后端
努力学习的小廉18 分钟前
深入了解linux系统—— System V之消息队列和信号量
android·linux·开发语言
undefinedType22 分钟前
Elasticsearch 检索模型解析:经典模型TF/IDF
后端
程序员秘密基地23 分钟前
基于html,css,vue,vscode,vs2022,asp.net,aspnet,.net,c#,mysql数据库,在线健身,俱乐部管理系统
前端·vue.js·后端·mysql·asp.net
阳仔47524 分钟前
Mybatis报错
后端
天天摸鱼的java工程师26 分钟前
当我成为面试官,我才知道当年那些面试官其实并不是在难为我,而是在考察我面对问题的拆解能力
前端·后端·面试
编程乐趣27 分钟前
基于.Net5+Vue+iView前后端分离通用权限开源系统,适合初学者
后端
天天摸鱼的java工程师32 分钟前
MyBatis Plus 的实用技巧:从业务场景到代码实现
java·后端·mybatis
teeeeeeemo1 小时前
http和https的区别
开发语言·网络·笔记·网络协议·http·https
wuxuanok1 小时前
Web后端开发-Mybatis
java·开发语言·笔记·学习·mybatis