Go strings.HasPrefix函数

12 篇文章 4 订阅

目录

描述

语法

参数

返回值

使用示例

源码分析


描述

strings.HasPrefix函数用来检测字符串是否以指定的前缀开头。

语法

需要导入 strings包

strings.Hasprefix(s, prefix)

参数

参数说明备注
s待检测的字符串字符串类型的参数
prefix指定的前缀

字符串类型的参数

返回值

返回一个布尔值。如果字符串s是以prefix开头,则返回true,否则返回false。

使用示例

package main

import (
	"fmt"
	"strings"
)

func main() {
	flavor := "hw:numa_notes"

	if strings.HasPrefix(flavor, "hw") {
		fmt.Println("It's a 'hw' flavor.")
	} else {
		fmt.Println("Unknown flavor.")
	}
}

运行结果

It's a 'hw' flavor.

源码分析

下面是go 1.12 HasPrefix()函数的源码。

可以看出当s长度小于prefix时,HasPrefix返回False。

当s长度不小于prefix时,且s在区间[0, len(prefix))上的子字符串等于prefix,HasPrefix()返回True。

// HasPrefix tests whether the string s begins with prefix.
func HasPrefix(s, prefix string) bool {
	return len(s) >= len(prefix) && s[0:len(prefix)] == prefix
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值