菜鸟笔记
提升您的技术认知

go strings.split函数-ag真人游戏

描述

strings.split函数用于将指定的分隔符切割字符串,并返回切割后的字符串切片。

需要导入 strings包

strings.split(s, sep)
参数 说明 备注
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))
}

运行结果如下:

result: [i love go, and i also love python.]
len: 8
cap: 8

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))
}

运行结果如下:

result: [i love go, and i also love python.]
len: 1
cap: 1

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))
}

运行结果:

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

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))
}

运行结果:

result: []
len: 0
cap: 0

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 == "")
}

运行结果:

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

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

网站地图