go语言中split方法有什么用

青灯夜游
Lepaskan: 2023-01-28 13:37:35
asal
2576 orang telah melayarinya

在go语言中,Split()方法用于分割字符串,可以使用分隔符将字符串划分为子字符串列表,而子字符串以切片的形式返回。Split()是strings包的方法,使用前需要先导入strings包,使用语法为“strings.Split(待分割的字符串, 分隔符)”。

go语言中split方法有什么用

本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

go语言split方法

在 Go 中,Split() 函数(包含在 strings 包中)使用分隔符将字符串划分为子字符串列表。子字符串以切片的形式返回。

语法

需要导入 strings包

strings.Split(s, sep)
Salin selepas log masuk
参数 说明 备注
s 待分割的字符串 字符串类型的参数
sep 分隔符

字符串类型的参数

返回值

返回一个字符串切片。

使用示例

Split()函数将字符串根据分隔符切割。切割后返回一个字符串切片,切片len和cap值等于原字符串中存在分隔符的数量 + 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)) }
Salin selepas log masuk

运行结果如下:

result: [I love Go, and I also love Python.] len: 8 cap: 8
Salin selepas log masuk

注意事项

1. 当分隔符不存在于原字符串中时

当分隔符在原字符串中不存在的情况下,Split()函数仅仅将原字符串转换成一个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)) }
Salin selepas log masuk

运行结果如下:

result: [I love Go, and I also love Python.] len: 1 cap: 1
Salin selepas log masuk

2. 当分隔符是空字符串时

当分隔符是空字符串时,Split()函数将字符串中的每一个字符分割成一个单独的元素。

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)) }
Salin selepas log masuk

运行结果:

result: [G o] len: 2 cap: 2
Salin selepas log masuk

3. 参数都为空字符串

当Split()函数的两个参数都是空字符串时(即s和sep都是空字符串),Split()函数返回一个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)) }
Salin selepas log masuk

运行结果:

result: [] len: 0 cap: 0
Salin selepas log masuk

4. 当s为空字符串,sep不为空字符串时

不同于上一个场景,在这种情况下虽然得到的结果仍然是字符串切片,但是字符串切片的len和cap值是1(而不是像上一个场景中的值是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)) element := string_slice[0] fmt.Printf("string_slice[0]:%s, type:%T, len():%d\n", element, element, len(element),) fmt.Println("element == \"\"?", element == "") }
Salin selepas log masuk

运行结果:

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

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

【相关推荐:Go视频教程编程教学

Atas ialah kandungan terperinci go语言中split方法有什么用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!