Avatar ·

如何检查字符串是否包含子串?

你好!我刚开始学习Go,遇到了一个看似简单的任务:需要检查一个字符串是否包含某个子串。在其他语言中,比如Python,我会写 `if "sub" in "string":`,但在Go中这个操作符不起作用。 我尝试查阅文档,但还没搞明白。我需要知道如何正确高效地解决这个问题。以下是我尝试编写的代码示例: ```go package main import "fmt" func main() { str := "Hello, World!" substr := "World" // 如何在这里检查str是否包含substr? // if str contains substr { // fmt.Println("子串已找到!") // } } ``` 我知道Go中有 `strings` 包,但不确定哪个函数适合。我见过 `Contains`、`Index` 和 `Count` 的提及,但不明白它们的区别以及应该使用哪个。 另外我还关心: 1. 如何处理大小写?是否需要特殊处理字母的大小写? 2. 是否有任何性能差异? 3. 如果子串为空字符串,这些函数会如何表现?