当前位置:首页 > 奇闻趣事

123abab新域名专题之最受欢迎的Golang字符串内置函数满满精华

Golang提供了许多内置字符串函数,可帮助您在处理字符串数据时执行某些任务。

Golang字符串函数是核心部分。使用此功能无需安装,仅需要导入“字符串”包。重要的Golang字符串函数列表如下:

转自:go语言中文文档:www.

1)Golang字符串包含功能[区分大小写]

您可以使用Contains()在字符串中搜索特定的文本/字符串/字符。它返回true或false的输出。如果在字符串2中找到字符串1,则返回true。如果在字符串2中找不到字符串1,则返回false。

语法:

func Contains(s, substr string) bool

DEMO

package main import ( "fmt" "strings" ) func main() { ("我是中国人", "中国")) //true ("I like golang", "like")) //true ("www.", "topgoer")) //true ("www.To;, "topgoer")) //false ("www.TopgoEr com", " ")) //true }

输出结果

true true true false true

2)Golang ContainsAny()[区分大小写]

您可以使用ContainsAny()在字符串中搜索特定的文本/字符串/字符。它返回true或false的输出。如果在字符串中找到字符的unicode,则它返回true,否则输出将为false。您可以在下面的程序中看到ContainsAny与Contains的比较。

句法:

func ContainsAny(s,chars string)bool

DEMO

package main import ( "fmt" "strings" ) func main() { Any("Golang", "g")) //true Any("Golang", "l & a")) //true Any("GolAng", "a")) // false Any("Golang", "G")) //true Any("GOLANG", "GOLANG")) //true Any("GOLANG", "golang")) // false Any("Shell-12541", "1")) //true // Contains vs ContainsAny Any("Shell-12541", "1-2")) // true ("Shell-12541", "1-2")) // false }

输出结果

true true false true true false true true false

3)Golang Count() [区分大小写]

此函数计算字符串中字符/字符串/文本的不重叠实例的数量。

语法:

func Count(s,sep string)int

DEMO

package main import ( "fmt" "strings" ) func main() { ("topgoer", "t")) //1 ("Topgoer", "T")) //1 ("Topgoer", "M")) //0 ("Topgoer", "goer")) // 1 ("Topgoer", "wwwTopgoercom")) // 0 ("Shell-25152", "-25")) //1 ("Shell-25152", "-21")) //0 ("test", "")) // length of string + 1 5 ("test", " ")) //0 }

输出结果

1 1 0 1 0 1 0 5 0

4)Golang EqualFold() [不区分大小写]

使用EqualFold,您可以检查两个字符串是否相等。如果两个字符串相等,则返回输出true,如果两个字符串都不相等,则返回false。

语法

func EqualFold(s,t string)bool

DEMO

package main import ( "fmt" "strings" ) func main() { ("Topgoer", "TOPGOER")) //true ("Topgoer", "topgoer")) //true ("Topgoer", "Topgoercom")) //false ("Topgoer", "goer")) //false ("Topgoer", "Topgoer & goer")) //false ("Topgoer-1254", "topgoer-1254")) //true (" ", " ")) // single space both side //true (" ", " ")) // double space right side //false }

输出结果

true true false false false true true false

5) Golang Fields()

Fields函数将一个或多个连续空白字符的每个实例周围的字符串分解为一个数组。

语法

func Fields(s string) []string

DEMO

package main import ( "fmt" "strings" ) func main() { testString := "I love my country" testArray := (testString) for _, v := range testArray { (v) } }

输出结果

I love my country

6)Golang FieldsFunc()

FieldsFunc函数在每次运行满足f(c)的Unicode代码点c时都将字符串s断开,并返回s的切片数组。您可以使用此功能按数字或特殊字符的每个点分割字符串。检查以下两个FieldsFunc示例:

语法

func FieldsFunc(s string,f func(rune bool)[] string

DEMO

package main import ( "fmt" "strings" "unicode" ) func main() { x := func(c rune) bool { return !unicode.IsLetter(c) } strArray := Func(`I love my country – I,love?my!country I, love, my – country`,x) for _, v := range strArray { (v) } ("\n*****************Split by number*******************\n") y := func(c rune) bool { return unicode.IsNumber(c) } testArray := Func(`1 I love my coun I love my,coun I-love my coun I love my?country`,y) for _, w := range testArray { (w) } }

输出结果

I love my country I love my country I love my country *****************Split by number******************* I love my country. I love my,country. I-love my country. I love my?country

7)Golang HasPrefix()

HasPrefix函数检查字符串s是否以指定的字符串开头。如果字符串S以前缀字符串开头,则返回true,否则返回false。

语法

func HasPrefix(s, prefix string) bool

DEMO

package main import ( "fmt" "strings" ) func main() { ("Topgoer", "Top")) //true ("Topgoer", "top")) //false ("Topgoer", "ccc")) //false ("Topgoer", "")) //true }

输出结果

true false false true

8)Golang HasSuffix()

HasSuffix函数检查字符串s是否以指定的字符串结尾。如果字符串S以后缀字符串结尾,则返回true,否则返回false。

语法

func HasSuffix(s, prefix string) bool

DEMO

package main import ( "fmt" "strings" ) func main() { ("Topgoer", "goer")) //true ("Topgoer", "R")) //false ("Topgoer", "GOER")) //false ("123456", "456")) //true ("Topgoer", "")) //true }

输出结果

true false false true true

9)Golang Index()

Index功能可以搜索字符串中的特定文本。它仅通过匹配字符串中的特定文本即可工作。如果找到,则返回以0开头的特定位置。如果找不到,则返回-1。

语法

func Index(s, sep string) int

DEMO

package main import ( "fmt" "strings" ) func main() { ("Topgoer", "goer")) //true ("Topgoer", "R")) //false ("Topgoer", "GOER")) //false ("123-456", "-")) //true ("Topgoer", "")) //true }

输出结果

3 -1 -1 3 0

10)Golang IndexAny()

IndexAny函数从string [left]中的chars [right]返回任何Unicode代码点的第一个实例的索引。它仅通过匹配字符串中的特定文本即可工作。如果找到,则返回以0开头的特定位置。如果找不到,则返回-1。

语法:

func IndexAny(s,chars string)int

DEMO

package main import ( "fmt" "strings" ) func main() { Any("topgoer", "www")) Any("topgoer", "ggg")) Any("mobile", "one")) Any("123456789", "4")) Any("123456789", "0")) }

输出结果

-1 3 1 3 -1

11)Golang IndexByte()

IndexByte函数返回字符串中第一个字符实例的索引。如果找到,则返回以0开头的特定位置。如果找不到,则返回-1。

语法:

func IndexByte(s string, c byte) int

DEMO

package main import ( "fmt" "strings" ) func main() { var s,t,u byte t = 't' Byte("Topgoer",t)) Byte("topgoer",t)) Byte("ogoer",t)) s = 1 Byte("5221-topgoer",s)) u = '1' Byte("5221-topgoer",u)) }

输出结果

-1 0 -1 -1 3

12)Golang IndexRune()

IndexRune函数以字符串形式返回Unicode代码点r的第一个实例的索引。如果找到,则返回以0开头的特定位置。如果找不到,则返回-1。在下面的示例中,s,t和u变量类型声明为符文。

语法:

func IndexRune(s string, r rune) int

DEMO

package main import ( "fmt" "strings" ) func main() { var s,t,u rune t = 'T' Rune("Topgoer",t)) Rune("topgoer",t)) Rune("opgoer",t)) s = 1 Rune("5221-JAPAN",s)) u = '1' Rune("5221-JAPAN",u)) }

输出结果

0 -1 -1 -1 3

13)Golang Join()[concatenate]

Join()函数从切片的元素返回字符串。Join将字符串Slice的元素连接起来以创建单个字符串。分隔符字符串sep指定在结果字符串中的切片元素之间放置的内容。

语法

func Join(stringSlice []string, sep string) string

DEMO

package main import ( "fmt" "strings" ) func main() { // Slice of strings textString := []string{"wen", "topgoer", "com"} (textString, "-")) // Slice of strings textNum := []string{"1", "2", "3", "4", "5"} (textNum,"")) }

输出结果

wen-topgoer-com 12345

14)Golang LastIndex() [区分大小写]

LastIndex函数可在字符串中搜索特定的特定文本/字符/字符串。它返回字符串中最后一个实例text / character / strin的索引。如果找到,则返回以0开头的特定位置。如果找不到,则返回-1。

语法

func LastIndex(s, sep string) int

DEMO

package main import ( "fmt" "strings" ) func main() { ("topgoer", "o")) // position j=0,a=1,p=2,a=3 ("topgoer", "G")) ("Topgoer", "go")) ("TOPGOER TOPGOER", "go")) ("1234567890 1234567890", "0")) ("1234567890 1234567890", "00")) ("1234567890 1234567890", "123")) }

输出结果

4 -1 3 -1 20 -1 11

15)Golang Repeat()

Repeat函数将字符串重复指定的次数,并返回一个新字符串,该字符串由字符串s的计数副本组成。Count指定将重复字符串的次数。必须大于或等于0。

语法

func Repeat(s string, count int) string

DEMO

package main import ( "fmt" "strings" ) func main() { textString := "China" repString := (textString, 5) (repString) textString = " A " // char with space on both side repString = (textString,5) (repString) // Repeat space also ("ba" + ("na", 2)) ("111" + ("22", 2)) ("111" + (" ",2)) }

输出结果

ChinaChinaChinaChinaChina A A A A A banana 1112222 111

16)Golang Replace() [区分大小写]

替换功能用字符串中的某些其他字符替换某些字符。n指定要在字符串中替换的字符数。如果n小于0,则替换次数没有限制。

语法

func Replace(s, old, new string, n int) string

DEMO

package main import ( "fmt" "strings" ) func main() { ("Australia Japan Canada Indiana", "an", "anese", 0)) ("Australia Japan Canada Indiana", "an", "anese", 1)) ("Australia Japan Canada Indiana", "an", "anese", 2)) ("Australia Japan Canada Indiana", "an", "anese", -1)) ("1234534232132", "1", "0", -1)) // case-sensitive ("Australia Japan Canada Indiana", "AN", "anese", -1)) }

输出结果

Australia Japan Canada Indiana Australia Japanese Canada Indiana Australia Japanese Caneseada Indiana Australia Japanese Caneseada Indianesea

17) Golang Split() [区分大小写]

拆分功能将字符串拆分为一个切片。将s字符串拆分为用sep分隔的所有子字符串,并返回这些分隔符之间的子字符串的一部分。

语法

func Split(S string, sep string) []string

DEMO

package main import ( "fmt" "strings" ) func main() { strSlice := ("a,b,c", ",") (strSlice,"\n") strSlice = ("I love my country", " ") for _, v := range strSlice { (v) } strSlice = ("abacadaeaf","a") ("\n",strSlice) strSlice = ("abacadaeaf","A") ("\n",strSlice) strSlice = ("123023403450456056706780789","0") ("\n",strSlice) strSlice = ("123023403450456056706780789",",") ("\n",strSlice) }

输出结果

[a b c] I love my country [ b c d e f] [abacadaeaf] [123 234 345 456 567 678 789] [123023403450456056706780789]

18)Golang SplitN() [区分大小写]

SplitN函数将字符串分成片。SplitN将s字符串拆分为所有由sep分隔的子字符串,并返回这些分隔符之间的子字符串的一部分。n确定要返回的子字符串数。
n小于0:最多n个子字符串;最后一个子字符串将是未拆分的余数。
n等于0:结果为nil(零子字符串)
n大于0:所有子字符串

语法

func SplitN(s, sep string, n int) []string

DEMO

package main import ( "fmt" "strings" ) func main() { strSlice := N("a,b,c", ",",0) (strSlice,"\n") strSlice = N("a,b,c", ",",1) (strSlice,"\n") strSlice = N("a,b,c", ",",2) (strSlice,"\n") strSlice = N("a,b,c", ",",3) (strSlice,"\n") strSlice = N("I love my country", " ",-1) for _, v := range strSlice { (v) } strSlice = N("123023403450456056706780789","0",5) ("\n",strSlice) }

输出结果

[] [a,b,c] [a b,c] [a b c] I love my country [123 234 345 456 56706780789]

19)Golang SplitAfter() [区分大小写]

SplitAfter函数将字符串分成片。在Sep的每个实例之后,SplitAfter将S切片为所有子字符串,并返回这些子字符串的切片。

语法

func SplitAfter(S String, sep string) []string

DEMO

package main import ( "fmt" "strings" ) func main() { strSlice := After("a,b,c", ",") (strSlice,"\n") strSlice = After("I love my country", " ") for _, v := range strSlice { (v) } strSlice = After("abacadaeaf","a") ("\n",strSlice) strSlice = After("abacadaeaf","A") ("\n",strSlice) strSlice = After("123023403450456056706780789","0") ("\n",strSlice) strSlice = After("123023403450456056706780789",",") ("\n",strSlice) }

输出结果

[a, b, c] I love my country [a ba ca da ea f] [abacadaeaf] [1230 2340 3450 4560 5670 6780 789] [123023403450456056706780789]

20)Golang SplitAfterN()[区分大小写]

SplitAfterN函数将字符串分成片。SplitAfterN在sep的每个实例之后将String切片为子字符串,并返回这些子字符串的切片。n确定要返回的子字符串数。
n小于0:最多n个子字符串;最后一个子字符串将是未拆分的余数。
n等于0:结果为nil(零子字符串)
n大于0:所有子字符串

语法

func SplitAfterN(string s, sep string, n int) []string

DEMO

package main import ( "fmt" "strings" ) func main() { strSlice := AfterN("a,b,c", ",",0) (strSlice,"\n") strSlice = AfterN("a,b,c", ",",1) (strSlice,"\n") strSlice = AfterN("a,b,c", ",",2) (strSlice,"\n") strSlice = AfterN("a,b,c", ",",3) (strSlice,"\n") strSlice = AfterN("I love my country", " ",-1) for _, v := range strSlice { (v) } strSlice = AfterN("123023403450456056706780789","0",5) ("\n",strSlice) }

输出结果

[] [a,b,c] [a, b,c] [a, b, c] I love my country [1230 2340 3450 4560 56706780789]

21)Golang Title()

Title函数将每个单词的第一个字符转换为大写。

语法

func Title(s string) string

DEMO

package main import ( "fmt" "strings" ) func main() { ("i like golang")) ("i love my country")) ("topgoer com")) }

输出结果

I Like Golang I Love My Country Topgoer Com

22)Golang ToTitle()

ToTitle函数将每个单词的所有字符转换为大写。

语法

func ToTitle(s string) string

DEMO

package main import ( "fmt" "strings" ) func main() { ("i like golang")) ("i love my country")) ("topgoer com")) }

输出结果

I LIKE GOLANG I LOVE MY COUNTRY TOPGOER COM

23)Golang ToLower()

ToTitle函数将每个单词的所有字符转换为小写。

语法

func ToLower(s string) string

DEMO

package main import ( "fmt" "strings" ) func main() { ("I Like Golang")) ("I Love My Country")) ("topgoer Com")) }

输出结果

i like golang i love my country topgoer com

24)Golang ToUpper()

ToUpper函数将每个单词的所有字符转换为大写。

语法

func ToUpper(s string) string

DEMO

package main import ( "fmt" "strings" ) func main() { ("I Like Golang")) ("I Love My Country")) ("topgoer Com")) }

输出结果

I LIKE GOLANG I LOVE MY COUNTRY TOPGOER COM

25)Golang Trim() [区分大小写]

Trim函数从字符串的两边删除预定义的字符cutset。

语法

func Trim(s string, cutset string) string

DEMO

package main import ( "fmt" "strings" ) func main() { ("0120 2510", "0")) ("abcd axyz", "a")) ("abcd axyz", "A")) ("! Abcd dcbA !", "A")) ("! Abcd dcbA !", "!")) (" Abcd dcbA ", " ")) }

输出结果

120 251 bcd axyz abcd axyz ! Abcd dcbA ! Abcd dcbA Abcd dcbA

26)Golang TrimLeft() [区分大小写]

trimlefit函数只从字符串s的左侧删除预定义字符cutset。

语法

func TrimLeft(s string, cutset string) string

DEMO

package main import ( "fmt" "strings" ) func main() { Left("0120 2510", "0")) Left("abcd axyz", "a")) Left("abcd axyz", "A")) Left("! Abcd dcbA !", "A")) Left("! Abcd dcbA !", "!")) Left(" Abcd dcbA ", " ")) }

输出结果

120 2510 bcd axyz abcd axyz ! Abcd dcbA ! Abcd dcbA ! Abcd dcbA

27)Golang TrimRight() [区分大小写]

TrimRight函数仅从字符串s的右侧删除预定义字符cutset。

语法

func TrimRight(s string, cutset string) string

DEMO

package main import ( "fmt" "strings" ) func main() { Right("0120 2510", "0")) Right("abcd axyz", "a")) Right("abcd axyz", "A")) Right("! Abcd dcbA !", "A")) Right("! Abcd dcbA !", "!")) Right(" Abcd dcbA ", " ")) }

输出结果

0120 251 abcd axyz abcd axyz ! Abcd dcbA ! ! Abcd dcbA Abcd dcbA

28)Golang TrimSpace()

TrimSpace函数从字符串的两侧删除空白和其他预定义字符。

“\t”-选项卡

“\n”-新行

“\x0B”-垂直选项卡

“\r”-回车

“”-普通空白

语法

func TrimSpace(s string) string

DEMO

package main import ( "fmt" "strings" ) func main() { Space(" I love my country ")) Space(" \t\n I love my country \t\n ")) Space(" \t\n\r\x0BI love my country\t\n ")) }

输出结果

I love my country I love my country I love my country

29)Golang TrimPrefi() [区分大小写]

TrimPrefix函数从S字符串的开头删除前缀字符串。如果S不以前缀开头,则S将原封不动地返回。

语法

func TrimPrefix(S string, prefix string) string

DEMO

package main import ( "fmt" "strings" ) func main() { var s string s = "I love my country" s = (s, "I") s = (s) (s) s = "I love my country" s = (s, "i") (s) s = "\nI-love-my-country" s = (s, "\n") (s) s = "\tI-love-my-country" s = (s, "\t") (s) }

输出结果

love my country I love my country I-love-my-country I-love-my-country

1.《123abab新域名专题之最受欢迎的Golang字符串内置函数满满精华》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《123abab新域名专题之最受欢迎的Golang字符串内置函数满满精华》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/2030239.html

上一篇

【000860顺鑫农业】专题顺鑫农业(000860):白酒第一龙头势如破竹,6月有望强势爆发!

下一篇

关于1024漫画在那尽头我想说海贼王官方公布大和是“女性”,欧美粉丝却炸锅,扬言烧了漫画书

关于123abab新域名我想说小学生必备语文必考词ABB、AABB、AABC、ABAB、ABCC、ABAC、ABCB

  • 关于123abab新域名我想说小学生必备语文必考词ABB、AABB、AABC、ABAB、ABCC、ABAC、ABCB
  • 关于123abab新域名我想说小学生必备语文必考词ABB、AABB、AABC、ABAB、ABCC、ABAC、ABCB
  • 关于123abab新域名我想说小学生必备语文必考词ABB、AABB、AABC、ABAB、ABCC、ABAC、ABCB

【123abab新域名】手机号估价方法 快来算算你的手机号值多少钱?

  • 【123abab新域名】手机号估价方法 快来算算你的手机号值多少钱?
  • 【123abab新域名】手机号估价方法 快来算算你的手机号值多少钱?
  • 【123abab新域名】手机号估价方法 快来算算你的手机号值多少钱?

123abab新域名,干货看这篇!中小学语文:ABAC+AABC+ABAB式等16类词语积累

  • 123abab新域名,干货看这篇!中小学语文:ABAC+AABC+ABAB式等16类词语积累
  • 123abab新域名,干货看这篇!中小学语文:ABAC+AABC+ABAB式等16类词语积累
  • 123abab新域名,干货看这篇!中小学语文:ABAC+AABC+ABAB式等16类词语积累
123abab新域名,干货看这篇!小学一年级各单元生字词及拼音复习、知识要点汇总(内附打印版)

123abab新域名,干货看这篇!小学一年级各单元生字词及拼音复习、知识要点汇总(内附打印版)

123abab新域名相关介绍,这是我的师范同学昨天传给我的。她是小学一年级老师。是自己总结出来的。我想肯定对大家都有帮助。谢谢分享。我的同学张金,如果转发的话,请从本微信公众号转出。谢谢。——万能型 第一部分:新词组词 第一单元 ...