如何在字符串指针中查找子字符串

Mik*_*ael -1 string pointers go

这个简单的问题让我很困惑。

来自外部包的一些函数返回 *string

如何在返回中找到子字符串*string

已知的去功能strings.IndexContains需要string类型,而不是指针。

icz*_*cza 6

取消引用指针,所以你得到一个string值。然后你可以继续,好像它不会是一个指针。

规格:地址运算符:

一个操作数x指针类型*T,指针间接*x表示所述可变类型的T指向x

例如:

func main() {
    p := getPtr()
    fmt.Println(strings.Contains(*p, "go"))
    fmt.Println(strings.Contains(*p, "yo"))
}

func getPtr() *string {
    s := "gopher"
    return &s
}
Run Code Online (Sandbox Code Playgroud)

输出(在Go Playground上试试):

true
false
Run Code Online (Sandbox Code Playgroud)