Golang 查找片段中指定字节的索引值

Golang 查找片段中指定字节的索引值

在Go语言中,片段比数组更强大、更灵活、更方便,且是一种轻量级数据结构。片段是一种可变长度序列,存储相似类型的元素,您不能在同一片段中存储不同类型的元素 。
在Go语言中的字节片段中,您可以使用 IndexByte() 函数查找给定片段中指定字节的第一个索引值。该函数返回给定片段中指定字节的第一次出现的索引。如果原始片段中没有给定的字节,则此方法将返回-1。它在bytes包中定义,因此您必须在程序中导入bytes包以访问IndexByte函数。

语法:

func IndexByte (ori_slice [] byte,val byte) int 

在这里,ori_slice是原始片段,val是要查找第一个索引值的字节。让我们用给定的示例来讨论一下这个概念:

示例1:

// Go程序说明了片段中的索引概念 // Go程序说明片段中的索引概念
package main
  
import (
    "bytes"
    "fmt"
)
  
func main() {
  
    // 创建和查找片段的索引 //使用IndexByte函数
    res1:=bytes.IndexByte([]byte("* * * * Welcome to GeeksforGeeks * * * *"),
                                                                        byte('o'))
resolve2:=bytes.IndexByte([]byte("正在学习如何修剪字节片段")),
                                                                        byte('z'))
resolve3:=bytes.IndexByte([]byte("GeeksforGeeks,Geek"),byte('k'))
  
    // 显示结果
    fmt.Printf("\n Final Value:\n")
    fmt.Printf("\n片段1:%d",res1)
    fmt.Printf("\n片段2:%d",res2)
    fmt.Printf("\n片段3:%d",res3)
} 

输出:

最终值:

片段1:8
片段2:-1
片段3:3

示例2:

// Go程序说明了片段中的索引概念 // Go程序说明片段中的索引概念
package main
  
import (
    "bytes"
    "fmt"
)
  
func main() {
  
    // 创建和初始化片段 //使用简写声明
    slice_1:= []byte{'!','!','G','e','e','k','s','f',
                 'o','r','G','e','e','k','s','#','#'}
      
    slice_2:= []byte{'A','p','p','l','e'}
      
    slice_3:= []byte{'%','g','e','e','k','s','%'}
  
    //显示片段
    fmt.Println("原片段:")
    fmt.Printf("片段1:%s",slice_1)
    fmt.Printf("\n片段2:%s",slice_2)
    fmt.Printf("\n片段3:%s",slice_3)
  
    // 查找片段的索引 //使用IndexByte函数
    res1:=bytes.IndexByte(slice_1,byte('!'))
    res2:=bytes.IndexByte(slice_2,byte('p'))
    res3 := bytes.IndexByte(slice_3, byte('x'))

    // 显示结果
    fmt.Printf("\n\n最后的索引:\n")
    fmt.Printf("\n片段1:%d", res1)
    fmt.Printf("\n片段2:%d", res2)
    fmt.Printf("\n片段3:%d", res3)

} 

输出:

原片段:
片段1:!!GeeksforGeeks##
片段2:Apple
片段3:%geeks%

最后的索引:
片段1:0
片段2:1
片段3:-1

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程