Go语言中strings.HasPrefix、strings.Split、strings.SplitN() 函数
作者:吃我一个平底锅
本文主要介绍了Go语言中strings.HasPrefix、strings.Split、strings.SplitN()函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
strings.HasPrefix
使用场景
使用Go语言实现HTTP服务端时,我们通常会使用一些前缀来用于节点之间的相互访问,这时就会涉及到strings.HasPrefix函数,用来检测字符串是否以指定的前缀开头。
语法
import "strings" ...... strings.HasPrefix(r.URL.Path,p.basePath)
- r.URL.Path为带检测的字符串
- p.basePath为我们指定的前缀
返回值
返回一个布尔值。如果字符串r.URL.Path是以p.basePath开头,则返回true,否则返回false。
示例
package main import ( "fmt" "strings" ) func main() { URL := "http://example.com" if strings.HasPrefix(URL, "http:") { fmt.Println("It's a http: URL") } else { fmt.Println("Unknown URL.") } }
strings.Split
strings.Split函数用于将指定的分隔符切割字符串,并返回切割后的字符串切片。
语法
import "strings" ...... strings.Split(s, sep)
- s为待分割的字符串
- sep为分割符
返回值
返回一个字符串切片。
示例
package main import ( "fmt" "strings" ) func main() { demo := "http://example.com" string_slice := strings.Split(demo, "/") fmt.Println("result:", string_slice) fmt.Println("len:", len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
当分隔符在原字符串中不存在的情况下,Split()函数仅仅将原字符串转换成一个len和cap值都为1的字符串切片。
当分隔符是空字符串时,Split()函数将字符串中的每一个字符分割成一个单独的元素。
当Split()函数的两个参数都是空字符串时(即s和sep都是空字符串),Split()函数返回一个len和cap值都为0的空字符串切片。
strings.SplitN()
strings.Split函数用于将给定的字符串拆分为由分隔符分隔的子字符串。此函数返回这些分隔符之间所有子字符串的片段。
语法
import "strings" ...... strings.SplitN(s, sep,n)
- s为待分割的字符串
- sep为分割符
- n为确定函数要返回的字符串数
n等于零(n == 0):结果为nil,即零个子字符串。返回一个空列表。
n大于零(n> 0):最多返回n个子字符串,最后一个字符串为未分割的余数。
n小于零(n <0):将返回所有可能的子字符串。
返回值
返回一个字符串切片。
示例
package main import ( "fmt" "strings" ) func main() { s := strings.SplitN("a,b,c,d,e,f", ",", 6) fmt.Println(s) s = strings.SplitN("a,b,c,d,e,f", ",", 2) fmt.Println(s) s = strings.SplitN("a,b,c,d,e,f", ",", 0) fmt.Println(s) s = strings.SplitN("a,b,c,d,e,f", "", 1) fmt.Println(s) s = strings.SplitN("a,b,c,d,e,f", ",", -1) fmt.Println(s) }
到此这篇关于Go语言中strings.HasPrefix、strings.Split、strings.SplitN() 函数的文章就介绍到这了,更多相关Go strings.HasPrefix strings.Split strings.SplitN() 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!