溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

GO語言字符串處理Strings包的函數(shù)怎么使用

發(fā)布時(shí)間:2022-04-15 10:30:04 來源:億速云 閱讀:120 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了GO語言字符串處理Strings包的函數(shù)怎么使用的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇GO語言字符串處理Strings包的函數(shù)怎么使用文章都會(huì)有所收獲,下面我們一起來看看吧。

常用的字符串處理函數(shù)

(1) Contains

func Contains(s, substr string) bool

功能:字符串s中是否包含substr,返回bool值

演示如下:

//查找一個(gè)字符串在另一個(gè)字符串中是否出現(xiàn)
str1 := "hello world"
str2 := "g"
//Contains(被查找的字符串,查找的字符串)  返回值 bool
//一般用于模糊查找
b := strings.Contains(str1,str2)
//fmt.Println(b)
if b {
    fmt.Println("找到了")
}else {
    fmt.Println("沒有找到")
}

(2) Join

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

功能:字符串鏈接,把slicea通過sep鏈接起來

演示如下:

//字符串切片
slice := []string{"123","456","789"}
//fmt.Println(slice)
//Join
//字符串的連接
str := strings.Join(slice,"")
fmt.Println(str)
//fmt.Printf("%T\n",str)

結(jié)果如下:

123456789

(3) Index

func Index(s, substr string) int

功能:在字符串s中查找sep所在的位置,返回位置值,找不到返回-1

str1 := "hello world"
str2 := "e"
//查找一個(gè)字符串在另一個(gè)字符串中第一次出現(xiàn)的位置 返回值  int  下標(biāo)  -1 找不到
i := strings.Index(str1,str2)
fmt.Println(i)

結(jié)果如下:

1

(4) Repeat

func Repeat(s string, count int) string

功能:重復(fù)s字符串count次,最后返回重復(fù)的字符串

演示如下:

str := "性感網(wǎng)友,在線取名。"
//將一個(gè)字符串重復(fù)n次
str1 := strings.Repeat(str,100)
fmt.Println(str1)

(5) Replace

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

功能:在s字符串中,把old字符串替換為new字符串,n表示替換的次數(shù),小于0表示全部替換

str := "性感網(wǎng)友在線取名性感性感性感性感性感"
//字符串替換  屏蔽敏感詞匯
//如果替換次數(shù)小于0 表示全部替換
str1 := strings.Replace(str,"性感","**",-1)
fmt.Println(str1)

結(jié)果如下:

**網(wǎng)友在線取名**********

(6) Split

func Split(s, sep string) []string

功能:把s字符串按照sep分割,返回slice

//將一個(gè)字符串按照標(biāo)志位進(jìn)行切割變成切片
str1 := "123456789@qq.com"
slice := strings.Split(str1,"@")
fmt.Println(slice[0])

結(jié)果如下:

123456789

(7) Trim

func Trim(s string, cutset string) string

功能:在s字符串的頭部和尾部去除cutset指定的字符串

str := "====a===u=ok===="
//去掉字符串頭尾的內(nèi)容
str1:= strings.Trim(str,"=")
fmt.Println(str1)

結(jié)果如下:

a===u=ok

(8) Fields

func Fields(s string) []string

功能:去除s字符串的空格符,并且按照空格分割返回slice

str := "    are you ok    "
//去除字符串中空格  轉(zhuǎn)成切片  一般用于統(tǒng)計(jì)單詞個(gè)數(shù)
slice := strings.Fields(str)
fmt.Println(slice)

字符串轉(zhuǎn)換

通過以上的講解,發(fā)現(xiàn)字符串的處理是非常重要的,GO語言也提供了字符串與其它類型之間相互轉(zhuǎn)換的函數(shù)。相應(yīng)的字符串轉(zhuǎn)換函數(shù)都在”strconv”包。

(1) Format

Format 系列函數(shù)把其他類型的轉(zhuǎn)換為字符串。

//將其他類型轉(zhuǎn)成字符串  Format
b := false
str := strconv.FormatBool(true)
fmt.Println(str)
fmt.Printf("%T\n",str)
str := strconv.FormatInt(120,10)  //計(jì)算機(jī)中進(jìn)制 可以表示2-36  2  8  10 16
fmt.Println(str)
//   'f'打印方式   以小數(shù)方式    4 指小數(shù)位數(shù)  64  以float64處理
str:= strconv.FormatFloat(3.14159,'f',4,64)
fmt.Println(str)
str := strconv.Itoa(123)
fmt.Println(str)

(2) Parse

Parse 系列函數(shù)把字符串轉(zhuǎn)換為其他類型

//字符串轉(zhuǎn)成其他類型  Parse
b,err := strconv.ParseBool("true")
if err!=nil {
    fmt.Println("類型轉(zhuǎn)換出錯(cuò)")
}else {
    fmt.Println(b)
    fmt.Printf("%T\n",b)
}
v,err := strconv.ParseInt("abc",16,64)
fmt.Println(v,err)
v,_ := strconv.ParseFloat("3.14159",64)
fmt.Println(v)
v,_:=strconv.Atoi("123")
fmt.Println(v)

(3) Append

Append 系列函數(shù)將整數(shù)等轉(zhuǎn)換為字符串后,添加到現(xiàn)有的字節(jié)數(shù)組中。

slice := make([]byte,0,1024)
//將其他類型轉(zhuǎn)成字符串 添加到字符切片里

slice = strconv.AppendBool(slice,false)
slice = strconv.AppendInt(slice,123,2)
slice = strconv.AppendFloat(slice,3.14159,'f',4,64)
slice = strconv.AppendQuote(slice,"hello")
fmt.Println(string(slice))

對應(yīng)的結(jié)果是:

false11110113.1416"hello"

關(guān)于“GO語言字符串處理Strings包的函數(shù)怎么使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“GO語言字符串處理Strings包的函數(shù)怎么使用”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI