strings.HasPrefix 和 strings.HasSuffix 是 Go 标准库中高效、安全的内置函数,用于精确判断字符串前缀和后缀,长度检查优先、逐字节匹配、空串恒真、大小写敏感,不支持正则。
直接用 strings.HasPrefix 和 strings.HasSuffix 就行,它们是 Go 标准库中高效、安全的内置函数,无需自己写循环或截取子串。
使用 strings.HasPrefix(s, prefix),返回 bool。它会先检查长度,再逐字节比对,不会 panic,即使 prefix 比原字符串长也会安全返回 false。
"")时,恒返回 true
HasPrefix("Hello", "hello") → false
"./config.yaml" 是否以 "./" 开头)、协议识别(如 "https://")等场景对应函数是 strings.HasSuffix(s, suffix),行为逻辑与 HasPrefix 完全对称:长度检查优先,逐字节匹配,空后缀恒为 true,大小写敏感。
HasSuffix(filename, ".go"))、URL 清洗(是否以 "/" 结尾)strings.HasSuffix(strings.ToLower(s), strings.ToLower(suffix))
下面是一个简洁可用的片段:
package main
import (
"fmt"
"strings"
)
func main() {
s := "golang-example.com"
fmt.Println(strings.HasPrefix(s, "golang")) // true
fmt.Println(strings.HasPrefix(s, "GOLANG")) // false(大小写敏感)
fmt.Println(strings.HasSuffix(s, ".com")) // true
fmt.Println(strings.HasSuffix(s, ".org")) // false
}
基本上就这些。两个函数轻量、零分配、语义清晰,日常处理字符串边界匹配足够可靠。
# go
# golang
# 字节
# ai
# 标准库
# 字符串
# bool
# 循环
# https
# 不支持
# 库中
# 是一个
# 也会
# 就行
# 一转
# 只做
# 会先
# 为空
# 比对
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化76771 】
【
技术知识130152 】
【
IDC云计算60162 】
【
营销推广131313 】
【
AI优化88182 】
【
百度推广37138 】
【
网站推荐60173 】
【
精选阅读31334 】
相关推荐:
mac怎么查看wifi密码_MAC查看已连接WiFi密码方法【技巧】
Win11怎么关闭应用权限_Windows11相机麦克风隐私管理
Mac如何使用听写功能_Mac语音输入打字【效率技巧】
如何用正则表达式精确匹配“start”到“end”之间最多含一个换行符的文本段
windows 10专注助手怎么关闭_windows 10禁用通知提醒功能方法
Laravel 查询 JSON 列:高效筛选包含数组中任意值的记录
Win11怎么连接蓝牙耳机_Win11蓝牙设备配对与连接教程【步骤】
如何自定义Windows终端的默认配置文件?(PowerShell/CMD)
c++ namespace命名空间用法_c++避免命名冲突
Win11声音太小怎么办_Windows 11开启响度均衡增强音量【技巧】
Golang如何实现基本的用户注册_Golang用户注册表单处理示例
如何快速验证Golang安装是否成功_运行go version和hello world示例
Win11如何添加/删除输入法 Win11切换中英文输入法快捷键【设置】
c++中如何计算坐标系中两点间距离_c++勾股定理求距离
Windows服务无法启动错误1067是什么_进程意外终止的解决方法
Python面向对象实战讲解_类与设计模式深入理解
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
Windows10蓝屏代码DPC_WATCHDOG_VIOLATION_Win10死机修复指南
C++中的协变与逆变是什么?C++函数指针与返回类型详解【类型系统】
php8.4匿名类怎么用_php8.4匿名类创建与使用场景【介绍】
Win10如何卸载WindowsDefender_Win10卸载Defender教程【方法】
c++中的Tag Dispatching是什么_c++利用标签分发优化函数重载【元编程】
Windows电脑如何截屏?(四种快捷方法)
Win11输入法切换快捷键怎么改_Windows 11自定义语言切换键位【教程】
c++中如何对数组进行排序_c++数组排序算法汇总
Win11时间格式怎么改成12小时制 Win11时间格式切换教程【步骤】
Windows11怎么自定义任务栏_Windows11任务栏自定义教程【步骤】
Win11怎么关闭键盘按键音_Win11禁用打字声音反馈【教程】
Windows10电脑怎么设置文件权限_Win10安全选项卡所有者修改
Windows10怎么卸载预装软件_Windows10预装软件卸载步骤【教程】
Win10 BitLocker加密教程 Win10给磁盘驱动器上锁【安全】
c# await 一个已经完成的Task会发生什么
Django 密码修改后会话失效的解决方案
php高频调试功能有哪些_php常用调试函数与工具汇总【解答】
WindowsUSB驱动安装异常怎么办_USB驱动重建与恢复教程
c++的mutex和lock_guard如何使用 互斥锁保护共享资源【多线程】
如何在Golang中实现并发消息队列消费者_Golang channel消息消费实践
Win11开机速度慢怎么优化_Win11系统启动加速设置指南【方法】
手机php文件怎么变成mp4_安卓苹果打开php转mp4方法【教程】
Python模块的__name__属性如何由导入方式决定?
C#如何序列化对象为XML XmlSerializer用法
Win11怎么更改管理员名字 Win11修改账户名称详细步骤【教程】
如何使用Golang指针与接口结合_实现方法调用和动态类型
Win11相机打不开提示错误怎么修_相机权限开启与驱动修复【影像修复】
Drupal 中 HTML 链接被重复转义导致渲染异常的解决方案
为什么本地php环境运行php脚本卡顿_php执行效率优化方法与设置【说明】
Win11怎样安装剪映专业版_Win11安装剪映教程【步骤】
Win11怎么查看局域网电脑_Windows 11网络邻居发现设置【技巧】
PHP 中 require() 语句返回值的用法详解
Win11怎么设置桌面图标间距_Windows11注册表IconSpacing修改
2026-01-02
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。