Golang 如何连接字节片元素

Golang 如何连接字节片元素

在Go语言中,切片比数组更强大、灵活、方便,并且是轻量级数据结构。切片是一个变长序列,其中存储具有相似类型的元素,您不允许在同一切片中存储不同类型的元素。

在Go语言的字节切片中,您可以使用 Join() 函数连接字节切片的元素。换句话说,Join函数用于连接切片的元素并返回一个新的字节切片,其中包含所有这些连接元素,这些元素由给定分隔符分隔。它在bytes包中定义,因此您必须在程序中导入bytes包以访问Join函数。

语法:

func Join(slice_1 [][]byte, sep []byte) []byte

在这里,sep是结果切片元素之间放置的分隔符。让我们通过示例讨论这个概念:

示例 1:

//连接字节切片的简单Go程序
package main
  
import (
    "bytes"
    "fmt"
)
  
// 主函数
func main() {
  
    // 创建和初始化字节切片
    // 使用简写声明
    name := [][]byte{[]byte("Sumit"), 
                     []byte("Kumar"), 
                     []byte("Singh")}
    sep := []byte("-")
  
    // 将学生姓名分别显示出来
    fmt.Printf("First Name: %s", name[0])
    fmt.Printf("\nMiddle Name: %s", name[1])
    fmt.Printf("\nLast Name: %s", name[2])
  
    // 使用Join函数连接学生的名、中、姓
    full_name := bytes.Join(name, sep)
  
    // 显示学生姓名
    fmt.Printf("\n\nFull name of the student: %s", full_name)
  
} 

输出:

First Name: Sumit
Middle Name: Kumar
Last Name: Singh

Full name of the student: Sumit-Kumar-Singh

示例 2:

// 连接字节切片的Go程序
package main
  
import (
    "bytes"
    "fmt"
)
  
// 主函数
func main() {
  
    // 创建和初始化字节切片
    // 使用简写声明
    slice_1 := [][]byte{[]byte("Geeks"), []byte("for"), []byte("Geeks")}
      
    slice_2 := [][]byte{[]byte("Hello"), []byte("My"),
        []byte("name"), []byte("is"), []byte("Bongo")}
  
    // 显示切片
    fmt.Println("Slice(Before):")
    fmt.Printf("Slice 1: %s ", slice_1)
    fmt.Printf("\nSlice 2: %s", slice_2)
  
    // 使用Join函数连接切片的元素
    res1 := bytes.Join(slice_1, []byte(" , "))
    res2 := bytes.Join(slice_2, []byte(" * "))
    res3 := bytes.Join([][]byte{[]byte("Hey"), []byte("I"), 
              []byte("am"), []byte("Apple")}, []byte("+"))
  
    // 显示结果
    fmt.Println("\n\nSlice(after):")
    fmt.Printf("New Slice_1: %s ", res1)
    fmt.Printf("\nNew Slice_2: %s", res2)
    fmt.Printf("\nNew Slice_3: %s", res3)
  
}

输出:

Slice(Before):
Slice 1: [Geeks for Geeks] 
Slice 2: [Hello My name is Bongo]

Slice(after):
New Slice_1: Geeks , for , Geeks 
New Slice_2: Hello * My * name * is * Bongo
New Slice_3: Hey+I+am+Apple

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程