• 技术文章 >后端开发 >Golang

    go语言中split方法有什么用

    青灯夜游青灯夜游2023-01-28 13:37:35原创171

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

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

    go语言split方法

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

    语法

    需要导入 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. 返回的字符串切片中不再包含分隔符

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

    以上就是go语言中split方法有什么用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:split go语言 Golang
    上一篇:go fmt命令的作用是什么 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Go语言中注释有什么作用• go语言中切片怎么增删元素• go语言中const怎么用• go语言中控制反转是什么• go clean有什么用• go fmt命令的作用是什么
    1/1

    PHP中文网