string - 如何在字符串指针中查找子字符串
问题描述
这个简单的问题让我很困惑。
外部包中的某些功能返回*string
如何找到返回的子字符串*string
?
已知的 Go 函数作为strings.Index
并且Contains
需要string
类型而不是指针。
解决方案
取消引用指针,所以你得到一个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
}
输出(在Go Playground上尝试):
true
false
推荐阅读
- python - 创建一个时间对象?
- f# - 无法在 FSharp 中加载 Deedle
- laravel - Laravel - 如何在刀片视图中访问嵌套的子数据?
- javascript - 如何首先将活动选项卡拉到该位置并在活动选项卡之后推动另一个?
- python - 1D 明智/元素明智地添加 2D numpy 数组
- php - 无法在 PHP 7.3.9 中启用 Curl
- python - 将先验信念添加到神经网络中
- python - 如何从 Outlook 中将 xls 附件另存为 xlsx - pywin32
- c# - 即使数据库中的某些数据类型不同,有没有办法将 dataRow 保存为字符串
- ruby-on-rails - 如何将我的关联 ID 插入简单的形式