溫馨提示×

溫馨提示×

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

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

go語言中的split方法怎么使用

發(fā)布時間:2023-01-31 09:21:27 來源:億速云 閱讀:171 作者:iii 欄目:編程語言

這篇文章主要介紹了go語言中的split方法怎么使用的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇go語言中的split方法怎么使用文章都會有所收獲,下面我們一起來看看吧。

在go語言中,Split()方法用于分割字符串,可以使用分隔符將字符串劃分為子字符串列表,而子字符串以切片的形式返回。Split()是strings包的方法,使用前需要先導(dǎo)入strings包,使用語法為“strings.Split(待分割的字符串, 分隔符)”。

go語言split方法    

在 Go 中,Split() 函數(shù)(包含在 strings 包中)使用分隔符將字符串劃分為子字符串列表。子字符串以切片的形式返回。

語法

需要導(dǎo)入 strings包

strings.Split(s, sep)

參數(shù)說明備注
s待分割的字符串字符串類型的參數(shù)
sep分隔符

字符串類型的參數(shù)

返回值

返回一個字符串切片。

使用示例

Split()函數(shù)將字符串根據(jù)分隔符切割。切割后返回一個字符串切片,切片len和cap值等于原字符串中存在分隔符的數(shù)量 + 1(僅在s不是空字符串的情況下成立)。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := "I&love&Go,&and&I&also&love&Python."
	string_slice := strings.Split(demo, "&")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))
}

運(yùn)行結(jié)果如下:

result: [I love Go, and I also love Python.]
len: 8
cap: 8

注意事項

1. 當(dāng)分隔符不存在于原字符串中時

當(dāng)分隔符在原字符串中不存在的情況下,Split()函數(shù)僅僅將原字符串轉(zhuǎn)換成一個len和cap值都為1的字符串切片。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := "I love Go, and I also love Python."
	string_slice := strings.Split(demo, "&")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))
}

運(yùn)行結(jié)果如下:

result: [I love Go, and I also love Python.]
len: 1
cap: 1

2. 當(dāng)分隔符是空字符串時

當(dāng)分隔符是空字符串時,Split()函數(shù)將字符串中的每一個字符分割成一個單獨(dú)的元素。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := "Go"
	string_slice := strings.Split(demo, "")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))
}

運(yùn)行結(jié)果:

result: [G o]
len: 2
cap: 2

3. 參數(shù)都為空字符串

當(dāng)Split()函數(shù)的兩個參數(shù)都是空字符串時(即s和sep都是空字符串),Split()函數(shù)返回一個len和cap值都為0的空字符串切片。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := ""
	string_slice := strings.Split(demo, "")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))
}

運(yùn)行結(jié)果:

result: []
len: 0
cap: 0

4. 當(dāng)s為空字符串,sep不為空字符串時

不同于上一個場景,在這種情況下雖然得到的結(jié)果仍然是字符串切片,但是字符串切片的len和cap值是1(而不是像上一個場景中的值是0)。返回的結(jié)果是包含一個空字符串的字符串切片。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := ""
	string_slice := strings.Split(demo, "*")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))

	element := string_slice[0]
	fmt.Printf("string_slice[0]:%s, type:%T, len():%d\n",
		element, element, len(element),)

	fmt.Println("element == \"\"?", element == "")
}

運(yùn)行結(jié)果:

result: []
len: 1
cap: 1
string_slice[0]:, type:string, len():0
element == ""? true

5. 返回的字符串切片中不再包含分隔符

關(guān)于“go語言中的split方法怎么使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“go語言中的split方法怎么使用”知識都有一定的了解,大家如果還想學(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)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI