string - 如何在字符串指针中找到子字符串

标签 string pointers go

这个简单的问题使我感到困惑。

外部软件包中的某些函数返回*string
如何在返回的*string中找到子字符串?

已知的Go函数strings.IndexContains需要string类型而不是指针。

最佳答案

取消引用指针,因此您获得了string值。然后,您可以继续进行操作,就好像它不是指针一样。

Spec: Address operators:

对于指针类型为x的操作数*T,指针间接指示*x表示T指向的x类型的variable

例如:

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

func getPtr() *string {
    s := "gopher"
    return &s
}

输出(在Go Playground上尝试):
true
false

关于string - 如何在字符串指针中找到子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60433970/

相关文章:

c++ - 发送输入字符串?

c# - JSON 到 C# 中的字符串数组

algorithm - D. B. Johnson 的 "elementary circuits"算法应该产生不同的结果吗?

casting - 推断方法的最佳做法是什么?

python - 使用基于正则表达式的模式匹配验证用户输入的逗号分隔坐标

C# 字符串排序...如何比较非序数但以相同字母开头的字符串将小写放在大写后面?

C 如何使用带比较器功能的快速排序

c - 什么是 C 中的不透明指针?

c - 为什么我偶尔会在测试 1 和测试 3 的输出中出现乱码?

arrays - 如何在 Go 中声明接口(interface)数组