Go语言中strings.HasPrefix、strings.Split、strings.SplitN() 函数

 更新时间:2024年08月20日 09:47:10   作者:吃我一个平底锅  
本文主要介绍了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() 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Go1.21新增maps包的用法详解

    Go1.21新增maps包的用法详解

    maps 包提供了几个非常有用的用于操作 map 类型(任何类型的 map)的函数,本文为大家整理了部分函数的具体用法,感兴趣的小伙伴可以了解一下
    2023-08-08
  • 详解Go函数和方法之间有什么区别

    详解Go函数和方法之间有什么区别

    这篇文章就简单和大家聊一聊在Go中函数与方法之间的区别,文章通过代码示例介绍的非常详细,对我们的学习或工作有一定的帮助,感兴趣的小伙伴跟着小编一起来看看吧
    2023-07-07
  • Go语言学习之数组的用法详解

    Go语言学习之数组的用法详解

    数组是相同数据类型的一组数据的集合,数组一旦定义长度不能修改,数组可以通过下标(或者叫索引)来访问元素。本文将通过示例详细讲解Go语言中数组的使用,需要的可以参考一下
    2022-04-04
  • Go语言中的函数、闭包、defer、错误处理的学习教程

    Go语言中的函数、闭包、defer、错误处理的学习教程

    Go语言中函数包含func关键字、函数名、参数列表和返回值列表,Go支持普通函数、匿名函数和闭包,值传递是Go语言中所有函数参数的传递方式,defer语句用于延迟函数的执行,适合用于资源清理,Go的错误处理主要通过error接口、panic函数和recover函数来实现,鼓励显式错误处理
    2026-01-01
  • Go Gin 处理跨域问题解决

    Go Gin 处理跨域问题解决

    在前后端分离的项目中,经常会遇到跨域问题,本文主要介绍了Go Gin 处理跨域问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • 一百行Golang代码实现简单并发聊天室

    一百行Golang代码实现简单并发聊天室

    这篇文章主要为大家详细介绍了一百行Golang代码如何实现简单并发聊天室,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Go的ORM框架的使用

    Go的ORM框架的使用

    GORM是一个功能丰富的Go语言ORM框架,提供全功能的数据库操作支持,本文就来介绍一下GORM框架的使用,感兴趣的可以了解一下
    2026-01-01
  • GoLang strings.Builder底层实现方法详解

    GoLang strings.Builder底层实现方法详解

    自从学习go一个月以来,我多少使用了一下strings.Builder,略有心得。你也许知道它,特别是你了解bytes.Buffer的话。所以我在此分享一下我的心得,并希望能对你有所帮助
    2022-10-10
  • golang http使用踩过的坑与应对方式

    golang http使用踩过的坑与应对方式

    这篇文章主要介绍了golang http使用踩过的坑与应对方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • golang中使用mongo的方法介绍

    golang中使用mongo的方法介绍

    这篇文章主要给大家介绍了关于golang中使用mongo的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08

最新评论