首页 > 后端开发 > Golang > 如何找到Go Slice中元素的位置?

如何找到Go Slice中元素的位置?

Linda Hamilton
发布: 2024-12-20 00:25:09
原创
629 人浏览过

How Can I Find the Position of an Element in a Go Slice?

查找切片中的元素位置

通用库函数不支持在 Go 中确定切片中元素的位置。 Go 的语言设计缺乏一种简单的方法来定义适用于任何切片类型的函数。

自定义实现

您可以定义自己的函数,如代码示例所示您提供的,要完成此任务:

type intSlice []int

func (slice intSlice) pos(value int) int {
    for p, v := range slice {
        if v == value {
            return p
        }
    }
    return -1
}
登录后复制

此函数迭代切片,将每个元素与指定值进行比较。如果找到该值,则返回其位置;否则,返回 -1。

虽然此函数有效,但可以通过使用较短范围的语法进行较小的改进:

func (slice intSlice) pos(value int) int {
    for i, v := range slice {
        if v == value {
            return i
        }
    }
    return -1
}
登录后复制

字节切片的替代方法

如果您的切片包含字节元素,则可以使用 bytes.IndexByte 函数查找特定字节值的位置。其语法如下:

func IndexByte(s \[\]byte, c byte) int
登录后复制

以上是如何找到Go Slice中元素的位置?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板