答案是使用 strings.Contains 函数可判断字符串是否包含子串,该函数区分大小写并返回布尔值。示例:strings.Contains("Hello", "He") 返回 true;空子串始终返回 true;忽略大小写时可用 strings.ToLower 转换后再比较,适合日常高效匹配。

在Golang中,判断一个字符串是否包含另一个子串是一个常见的操作。Go语言标准库 strings 提供了 strings.Contains 函数,可以方便地完成这一任务。
strings.Contains 函数简介
strings.Contains 用于判断一个字符串(主串)是否包含指定的子串。它返回一个布尔值:如果包含则返回 true,否则返回 false。
函数定义如下:
func Contains(s, substr string) bool
立即学习“go语言免费学习笔记(深入)”;
其中:
- s:要搜索的原始字符串
- substr:要查找的子字符串
基本用法示例
下面是一些使用 strings.Contains 的常见例子:
package main
import (
"fmt"
"strings"
)
func main() {
text := "Hello, welcome to Go programming!"
// 判断是否包含 "Go"
if strings.Contains(text, "Go") {
fmt.Println("文本包含 'Go'")
}
// 判断是否包含 "Python"
if !strings.Contains(text, "Python") {
fmt.Println("文本不包含 'Python'")
}
// 区分大小写
fmt.Println(strings.Contains("Golang", "go")) // 输出: false
fmt.Println(strings.Contains("Golang", "Go")) // 输出: true
}
注意事项
使用 strings.Contains 时需要注意以下几点:
- 该函数是区分大小写的。如果需要忽略大小写判断,可先将字符串统一转为小写或大写再比较。
- 空字符串作为子串时,Always returns true,因为任何字符串都包含空串。
- 性能良好,适合大多数日常场景。
如需不区分大小写的匹配,可以这样处理:
strings.Contains(strings.ToLower("Hello World"), "hello") // true
基本上就这些。使用 strings.Contains 是判断字符串包含关系最直接、简洁的方法。










