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

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值