golang strings api接口

news2024/9/24 13:18:24

1函数

函数名参数返回值解释
Clones stringstringClone 返回 s 的一份新副本。它保证将 s 的副本放入新的分配中,这在仅保留较大字符串的一小部分子字符串时非常重要。使用 Clone 可以帮助此类程序使用更少的内存。当然,由于使用 Clone 会进行复制,因此过度使用 Clone 会使程序使用更多内存。Clone 通常很少使用,并且仅在分析表明需要时才使用。对于长度为零的字符串,将返回字符串“”,并且不进行任何分配。
Comparea, b stringintCompare 返回按字典顺序比较两个字符串的整数。如果 a== b,则结果为 0;如果 a < b,则结果为 -1;如果 a > b,则结果为 +1。当您需要执行三向比较(例如使用 slices.SortFunc)时,请使用Compare。使用内置字符串比较运算符==、<、>等通常更清晰且更快。
Containss, substr stringbool包含报告 substr 是否在 s 内。
ContainsAnys, chars stringboolContainsAny 报告 chars 中的任何 Unicode 代码点是否在 s 内。chars为空时返回false
ContainsFuncs string , f func( rune ) boolboolContainsFunc 报告 s 内的任何 Unicode 代码点 r 是否满足 f®。
ContainsRunes string, r runeboolContainsRune 报告 Unicode 代码点 r 是否在 s 内。
Counts, substr stringintCount 计算 s 中不重叠的 substr 实例的数量。如果 substr 为空字符串,Count 将返回 1 + s 中的 Unicode 代码点数量。
Cuts, sep stringbefore, after string, found bool剪切 s 中第一个 sep 周围的片段,返回 sep 之前和之后的文本。结果报告 sep 是否出现在 s 中。如果 sep 未出现在 s 中,则 cut 返回 s, “”, false。
CutPrefixs, prefix stringafter string, found boolCutPrefix 返回不带提供的前导前缀字符串的 s,并报告是否找到前缀。如果 s 不以前缀开头,CutPrefix 返回 s, false。如果前缀为空字符串,CutPrefix 返回 s, true。
CutSuffixs, suffix stringbefore string, found boolCutSuffix 返回不带提供的结束后缀字符串的 s,并报告是否找到后缀。如果 s 不以后缀结尾,CutSuffix 将返回 s, false。如果后缀为空字符串,CutSuffix 将返回 s, true。
EqualFolds, t stringboolEqualFold 报告 s 和 t(解释为 UTF-8 字符串)在简单的 Unicode 大小写折叠(这是一种更通用的大小写不敏感形式)下是否相等。
Fieldss string[] stringFields 将字符串 s 拆分为一个或多个连续空格字符的每个实例,如unicode.IsSpace所定义,并返回 s 的子字符串切片;如果 s 仅包含空格,则返回一个空切片。
FieldsFuncs string , f func( rune ) bool[] stringFieldsFunc 在满足 f© 的每次 Unicode 代码点 c 处拆分字符串 s,并返回 s 切片的数组。如果 s 中的所有代码点都满足 f© 或字符串为空,则返回一个空切片。FieldsFunc 不保证其调用 f© 的顺序,并假定 f 对于给定的 c 始终返回相同的值。
HasPrefixs, prefix stringboolHasPrefix 报告字符串 s 是否以前缀开头。prefix为空返回true
HasSuffixs, suffix stringboolHasSuffix 报告字符串 s 是否以后缀结尾。suffix为空返回true
Indexs, substr stringintIndex 返回 s 中 substr 的第一个实例的索引(字节数),如果 s 中不存在 substr,则返回 -1。
IndexAnys, chars stringintIndexAny 返回 s 中字符的任何 Unicode 代码点的第一个实例的索引,如果 s 中不存在字符的 Unicode 代码点,则返回 -1。
IndexBytes string, c byteintIndexByte 返回 s 中 c 的第一个实例的索引,如果 c 不在 s 中,则返回 -1。
IndexFuncs string , f func( rune ) boolintIndexFunc 返回 s 中第一个满足 f© 的 Unicode 代码点的索引,如果没有,则返回 -1。
IndexFuncs string, f func(rune) boolintIndexRune 返回 Unicode 代码点 r 的第一个实例的索引,如果 s 中不存在 rune,则返回 -1。如果 r 是utf8.RuneError,则返回任何无效 UTF-8 字节序列的第一个实例。
Joinelems []string, sep stringstringJoin 将其第一个参数的元素连接起来以创建单个字符串。分隔符字符串 sep 位于结果字符串中的元素之间。
LastIndexs, substr stringintLastIndex 返回 s 中 substr 的最后一个实例的索引,如果 s 中不存在 substr,则返回 -1。
LastIndexAnys, chars stringintLastIndexAny 返回 s 中字符的任何 Unicode 代码点的最后一个实例的索引,如果 s 中不存在字符的 Unicode 代码点,则返回 -1。
LastIndexBytes string, c byteintLastIndexByte 返回 s 中 c 的最后一个实例的索引,如果 c 在 s 中不存在,则返回 -1。
LastIndexFuncs string , f func( rune ) boolintLastIndexFunc 返回满足 f© 的最后一个 Unicode 代码点的 s 索引,如果没有,则返回 -1。
Mapmapping func( rune ) rune , s stringstringMap 返回字符串 s 的副本,其中所有字符均根据映射函数进行了修改。如果映射返回负值,则该字符将从字符串中删除,且不进行替换。
Repeats string, count intstringRepeat 返回由字符串 s 的 count 个副本组成的新字符串。如果 count 为负数或者 (len(s) * count) 的结果溢出,则会引起混乱。
Replaces, old, new string, n intstringReplace 返回字符串 s 的副本,其中前 n 个不重叠的 old 实例被 new 替换。如果 old 为空,它会匹配字符串的开头和每个 UTF-8 序列之后,最多可为 k-rune 字符串产生 k+1 个替换。如果 n < 0,则替换次数不受限制。
ReplaceAlls, old, new stringstringReplaceAll 返回字符串 s 的副本,其中所有不重叠的 old 实例均被 new 替换。如果 old 为空,它会在字符串的开头和每个 UTF-8 序列之后进行匹配,从而为 k-rune 字符串产生最多 k+1 个替换。
Splits, sep string[] string将切片 s 拆分为所有由 sep 分隔的子字符串,并返回这些分隔符之间的子字符串切片。如果 s 不包含 sep 且 sep 不为空,则 Split 返回长度为 1 的切片,其唯一元素是 s。如果 sep 为空,Split 会在每个 UTF-8 序列后进行拆分。如果 s 和 sep 都为空,Split 会返回一个空切片。它相当于计数为 -1 的 SplitN 。要围绕分隔符的第一个实例进行拆分
SplitAfters, sep string[] stringSplitAfter 将 s 切分为 sep 每个实例之后的所有子字符串并返回这些子字符串的切片。如果 s 不包含 sep 且 sep 不为空,则 SplitAfter 返回长度为 1 的切片,其唯一元素是 s。如果 sep 为空,SplitAfter 会在每个 UTF-8 序列后进行拆分。如果 s 和 sep 都为空,SplitAfter 会返回一个空切片。它相当于计数为 -1 的 SplitAfterN 。
SplitAfterNs, sep string , n int[] stringSplitAfterN 在 sep 的每个实例之后将 s 切成子字符串并返回这些子字符串的切片。计数决定要返回的子字符串的数量:n > 0:最多有 n 个子字符串;最后一个子字符串将是未分割的余数;n == 0:结果为 nil(零子字符串);n < 0:所有子串。s 和 sep 的边缘情况(例如空字符串)按照SplitAfter文档中的描述进行处理。
SplitNs, sep string , n int[] stringSplitN 将 s 切成由 sep 分隔的子字符串并返回这些分隔符之间的子字符串切片。计数决定要返回的子字符串的数量:n > 0:最多有 n 个子字符串;最后一个子字符串将是未分割的余数;n == 0:结果为 nil(零子字符串);n < 0:所有子串。s 和 sep 的边缘情况(例如空字符串)按照Split文档中的描述进行处理。要围绕分隔符的第一个实例进行拆分,请参阅剪切。
ToLowers stringstringToLower 返回所有 Unicode 字母都映射为小写字母的 s。
ToLowerSpecialc unicode . SpecialCase , s stringstringToLowerSpecial 返回字符串 s 的副本,其中所有 Unicode 字母使用 c 指定的大小写映射映射到小写。
ToTitles stringstringToTitle 返回字符串 s 的副本,其中所有 Unicode 字母都映射到其 Unicode 标题大小写。
ToTitleSpecialc unicode . SpecialCase , s stringstringToTitleSpecial 返回字符串 s 的副本,其中所有 Unicode 字母都映射到其 Unicode 标题大小写,并优先考虑特殊大小写规则。
ToUppers stringstringToUpper 返回所有 Unicode 字母都映射为大写字母的 s。
ToUpperSpecialc unicode . SpecialCase , s stringstringToUpperSpecial 返回字符串 s 的副本,其中所有 Unicode 字母使用 c 指定的大小写映射映射到大写。
ToValidUTF8s, replacement stringstringToValidUTF8 返回字符串 s 的副本,其中每次运行的无效 UTF-8 字节序列都被替换字符串所替换,该替换字符串可能是空的。
Trims, cutset stringstringTrim 返回字符串 s 的切片,其中 cutset 中包含的所有前导和尾随 Unicode 代码点均被删除。
TrimFuncs string , f func( rune ) boolstringTrimFunc 返回字符串 s 的切片,其中所有满足 f© 的前导和尾随 Unicode 代码点 c 均被删除。
TrimLefts, cutset stringstringTrimLeft 返回字符串 s 的切片,其中 cutset 中包含的所有前导 Unicode 代码点均被删除。要删除前缀,请改用TrimPrefix。
TrimLeftFuncs string , f func( rune ) boolstringTrimLeftFunc 返回字符串 s 的切片,其中所有满足 f© 的前导 Unicode 代码点 c 均被删除。
TrimPrefixs, prefix stringstringTrimPrefix 返回不带提供的前导前缀字符串的 s。如果 s 不以前缀开头,则 s 原封不动地返回。
TrimRights, cutset stringstringTrimRight 返回字符串 s 的切片,其中 cutset 中包含的所有尾随 Unicode 代码点均被删除。要删除后缀,请改用TrimSuffix。
TrimRightFuncs string , f func( rune ) boolstringTrimRightFunc 返回字符串 s 的一个切片,其中所有满足 f© 的尾随 Unicode 代码点 c 均被删除。
TrimSpaces stringstringTrimSpace 返回字符串 s 的切片,其中所有前导和尾随空格均被删除,如 Unicode 所定义。
TrimSuffixs, suffix stringstringTrimSuffix 返回不带提供的尾随后缀字符串的 s。如果 s 不以后缀结尾,则 s 原封不动地返回。

2Builder类型

函数名参数返回值解释
Cap-intCap 返回构建器底层字节切片的容量。它是为正在构建的字符串分配的总空间,包括已写入的任何字节。
Grown int-如果有必要,Grow 会增加 b 的容量,以保证另外 n 个字节的空间。在 Grow(n) 之后,至少可以将 n 个字节写入 b 而无需进行其他分配。如果 n 为负数,Grow会panic
Len-intLen 返回累积的字节数;b.Len() == len(b.String())。
Reset--重置将重置Builder为空。
String-string字符串返回累积的字符串。
Writep []byteint, errorWrite 将 p 的内容附加到 b 的缓冲区。Write 总是返回 len§,nil。
WriteBytec byteerrorWriteByte 将字节 c 附加到 b 的缓冲区。返回的错误始终为 nil。
WriteRuner runeint , errorWriteRune 将 Unicode 代码点 r 的 UTF-8 编码附加到 b 的缓冲区。它返回 r 的长度和一个 nil 错误。
WriteStrings stringint , errorWriteString 将 s 的内容附加到 b 的缓冲区。它返回 s 的长度和一个 nil 错误。

3Reader类型

函数名参数返回值解释
NewReaders string* ReaderNewReader 返回一个从 s 读取的新Reader。它类似于bytes.NewBufferString,但效率更高且不可写。
Len-intLen 返回字符串未读部分的字节数。
Readb [] byten int , err errorRead 实现了io.Reader接口。
ReadAtb [] byte , off int64n int , err errorReadAt 实现了io.ReaderAt接口。
ReadBytebyte,errorReadByte 实现了io.ByteReader接口。
ReadRune-ch rune,size int,err errorReadRune 实现了io.RuneReader接口。
Reset-s string重置将重置读取器以从 s 读取。
Seekoffset int64 , whence intint64 , errorSeek 实现了io.Seeker接口。
Size-int64Size 返回底层字符串的原始长度。Size 是可通过Reader.ReadAt读取的字节数。返回值始终相同,不受调用任何其他方法的影响。
UnreadByte-errorUnreadByte 实现了io.ByteScanner接口。
UnreadRune-errorUnreadRune 实现了io.RuneScanner接口。
WriteTow io . Writern int64 , err errorWriteTo 实现了io.WriterTo接口。

4Replacer类型

用替换项替换字符串列表。多个 goroutine 可以安全地并发使用。

函数名参数返回值解释
NewReplaceroldnew … string* ReplacerNewReplacer从旧字符串、新字符串对列表中 返回一个新的Replacer 。替换按它们在目标字符串中出现的顺序执行,不会出现重叠匹配。旧字符串比较按参数顺序进行。如果给定奇数个参数,NewReplacer 会发生混乱。
Replaces stringstringReplace 返回已执行所有替换操作的 s 的副本。
WriteStringw io . Writer , s stringn int , err errorWriteString 将 s 写入 w 并执行所有替换。

测试案例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160439.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MCU自动测量单元采集振弦式应变计测值的过程

振弦式应变计是一种广泛应用于土木工程、地质勘探等领域的高精度传感器&#xff0c;用于测量结构的应变变化。近年来&#xff0c;随着微控制器单元(MCU)的发展&#xff0c;自动化测量技术得到了极大的提升&#xff0c;使得振弦式应变计的测值采集更加高效和精确。本文将详细介绍…

关于 mybatis-plus-boot-starter 与 mybatis-spring-boot-starter 的错误

不是知道你是否 出现过这样的错误 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 经过各种度娘&#xff0c;无非就是让你检查三种情况 情况一&#xff1a;mapper.xml没有按照传统的maven架构进行放置 情况二&#xff1a;mybatis的配置信…

C语言实现简单凯撒密码算法

**实验2&#xff1a;传统密码技术 【实验目的】 通过本次实训内容&#xff0c;学习常见的传统密码技术&#xff0c;通过编程实现简单代替密码中的移位密码算法&#xff0c;加深对传统密码技术的了解&#xff0c;为深入学习密码学奠定基础。【技能要求】 分析简单代替密码中的移…

R语言机器学习遥感数据处理与模型空间预测技术及实际项目案例分析

随机森林作为一种集成学习方法&#xff0c;在处理复杂数据分析任务中特别是遥感数据分析中表现出色。通过构建大量的决策树并引入随机性&#xff0c;随机森林在降低模型方差和过拟合风险方面具有显著优势。在训练过程中&#xff0c;使用Bootstrap抽样生成不同的训练集&#xff…

LeetCode 每日一题 ---- 【2207. 字符串中最多数目的子序列】

LeetCode 每日一题 ---- 【2207. 字符串中最多数目的子序列】 2207.字符串中最多数目的子序列方法&#xff1a;贪心 一次遍历 2207.字符串中最多数目的子序列 方法&#xff1a;贪心 一次遍历 从题意中可以看出来&#xff0c;对于 pattern.charAt(0) 一定是插入到最左侧是最优…

什么是SSL证书?它能保护你的网络安全!

相信大家在浏览网页时经常会看到一些网址前面有个“小锁”图标&#xff0c;它代表的网站是安全的&#xff0c;而这背后的秘密就是SSL证书。那SSL证书到底是什么&#xff1f;它有什么用呢&#xff1f; 什么是SSL证书&#xff1f; SSL证书的全称是Secure Sockets Layer证书&…

php发送邮箱教程:如何实现邮件发送功能?

php发送邮箱性能优化策略&#xff1f;怎么使用PHPMail发送邮箱&#xff1f; 无论是用户注册验证、密码重置&#xff0c;还是系统通知&#xff0c;邮件发送都是不可或缺的一部分。AokSend将详细介绍如何使用PHP实现邮件发送功能&#xff0c;帮助开发者快速掌握这一技能。 php发…

高效驱动,掌控动力:TB67H400AFNG 马达驱动器

在如今智能设备和自动化应用领域中&#xff0c;驱动器的性能直接决定了系统的可靠性与效率。东芝的TB67H400AFNG有刷直流马达驱动器凭借其卓越的性能&#xff0c;成为众多行业解决方案中的关键部件。无论是工业控制、自动化设备还是消费类电子产品&#xff0c;TB67H400AFNG都能…

一小时拿下鸿蒙应用开发者高级证书!(二)

鸿蒙应用开发者高级认证&#xff0c;是华为自家研发的硬核操作系统&#xff0c;现在它在市场上的名声也越来越响亮。你手上要是有了鸿蒙的认证小本本&#xff0c;那就等于是掌握了这行里的独门秘籍&#xff0c;找工作的时候&#xff0c;妥妥的加分项。 一个小时刷刷题&#xf…

玩机进阶教程----MTK芯片杂牌机 小品牌机型以及其他mtk设备导出分区的另外一种方法解析

在前面多期博文中都是通过工具来导出分区 制作线刷包的。今天我们以另外一种方法备份系统分区。mtk芯片较多。具体机型适合哪种方法需要自测。多种方法多条思路。遇到机型善用工具。目前一些wifi网卡 点读笔以及有些其他mtk芯片设备。通常分区都较小。可以参考教程 通过教程了…

amr文件怎么转换成mp3?这几种方法超多人在用!

amr文件怎么转换成mp3&#xff1f;AMR音频格式&#xff0c;作为音频领域的一个相对边缘角色&#xff0c;其应用范围相对狭窄&#xff0c;这背后深藏着多重内在限制&#xff0c;首要挑战在于AMR的音质瓶颈&#xff0c;它难以逃脱声音失真与杂音干扰的阴影&#xff0c;这对于追求…

通过企业微信群机器人 发送群消息

1、添加群机器人&#xff0c;复制的webhook地址 2、 public static void main(String[] args) { String reqUrl "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key6xdexxxxxxxxxxxxxxxxxxxxxxxxxxx"; String title "填…

数据结构 - 查找算法

一.查找的概念 二.顺序表查找 特点&#xff1a; 1.记录的数据可以是无序的 2.当数据量较大时&#xff0c;查找效率低&#xff0c;需要依次遍历 /*** description: 顺序表查找算法&#xff0c;从后往前查找* param - a : 要操作的数组的指针* param - k…

OpenCV_自定义线性滤波(filter2D)应用详解

OpenCV filter2D将图像与内核进行卷积&#xff0c;将任意线性滤波器应用于图像。支持就地操作。当孔径部分位于图像之外时&#xff0c;该函数根据指定的边界模式插值异常像素值。 卷积核本质上是一个固定大小的系数数组&#xff0c;数组中的某个元素被作为锚点&#xff08;一般…

安霸cv22平台移植采坑记录

主要分为3部分&#xff1a; 1.数据输入部分&#xff1a; 1.因原始测试代码只是单张测试图片&#xff08;测试格式&#xff1a;安霸平台离线转的bin文件&#xff09;&#xff0c;现在的问题是&#xff1a;如何输入数据流&#xff1f;会不会涉及到字节对齐问题&#xff0c;如何…

ROS第六梯:ROS+VSCode+C++消息发布和订阅

第一步&#xff1a;创建ROS工作空间&#xff0c;并在工作空间下创建名为srr_pkg的功能包&#xff0c;具体步骤参考第二章。 第二步&#xff1a;在src下创建publisher.cpp作为发布节点代码文件&#xff0c;创建subscriber.cpp作为订阅节点代码文件&#xff1a; 主要步骤是&#…

这几个方法轻松压缩ppt文件大小,操作起来很简单的压缩PPT方法

这几个方法轻松压缩ppt文件大小。在当今信息化迅速发展的时代&#xff0c;PPT已成为工作和学习中必不可少的工具。然而&#xff0c;随着内容的增加&#xff0c;文件体积常常变得庞大&#xff0c;影响了分享和传输的便利性。过大的文件不仅占用存储空间&#xff0c;还可能导致演…

Nat Med|机器学习+高通量筛选,发现用于治疗胶质母细胞瘤的神经活性药物|顶刊精析·24-09-23

小罗碎碎念 今日顶刊&#xff1a;Nat Med 这篇文章是2024-09-20发表在《Nature Medicine》上的一篇研究型论文&#xff0c;标题为“High-throughput identification of repurposable neuroactive drugs with potent anti-glioblastoma activity”。 先打个提前量&#xff0c;发…

Java刷题知识总结(一)

1.局部变量参与运算前是必须要初始化的&#xff0c;比如下面的代码就会编译出错&#xff0c;提示y必须要初始化。 public static void main(String[] args) {int x 1;int y;int z x y; } 2.ArrayList和Vector主要区别是什么&#xff1f; A Vector与ArrayList一样&#xf…

Win11+cuda11.7+spconv11.7搭建OpenPCdet

这里写自定义目录标题 前面詳細的教程參考&#xff1a;https://blog.csdn.net/xuegreat1/article/details/141892867 懶得寫了&#xff0c;先寫遇到的一些教程外的bug&#xff1a; 上文教程走完后運行demo.py&#xff0c;但是發現沒有裝mayavi庫&#xff0c;直接安裝報錯&#…