Golang 如何从字节切片中修整空格

在Go语言中,切片比数组更强大、灵活且便捷,并且是一种轻量级的数据结构。切片是一种长度可变的序列,用于存储类似类型的元素,您不允许在同一切片中存储不同类型的元素。

在Go字节切片中,您可以使用TrimSpace()函数修整给定切片中的所有前导和尾随空格。此函数通过移除所有前导和尾随空格返回原始切片的子切片。它在字节包下定义,因此,您必须在程序中导入字节包以访问TrimSpace函数。

语法:



func TrimSpace(ori_slice []byte) []byte

这里,ori_slice是原始的字节切片。让我们通过给定的示例来讨论这个概念:

例1:

// Go程序,说明在字节切片中修整空格的概念
package main
  
import (
    "bytes"
    "fmt"
)
  
func main() {
  
    // 创建并初始化字节切片
    // 使用shorthand声明
    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)
  
    // 从给定的字节切片中修整空格
    // 使用TrimSpace函数
    res1 := bytes.TrimSpace(slice_1)
    res2 := bytes.TrimSpace(slice_2)
    res3 := bytes.TrimSpace(slice_3)
  
    // 显示结果
    fmt.Printf("\n\n新切片:\n")
    fmt.Printf("\n切片1:%s", res1)
    fmt.Printf("\n切片2:%s", res2)
    fmt.Printf("\n切片3:%s", res3)
  
} 

输出:

原始切片:
切片1:!!GeeksforGeeks##
切片2:**Apple^^
切片3:%geeks%

新切片:
切片1:!!GeeksforGeeks##
切片2:**Apple^^
切片3:%geeks%

例2:

// Go程序,说明在字节切片中修整空格的概念
package main
  
import (
    "bytes"
    "fmt"
)
  
func main() {
  
    // 创建并修整给定字节切片的空格
    // 使用TrimSpace函数
    res1 := bytes.TrimSpace([]byte(" ****Welcome to GeeksforGeeks**** "))
    res2 := bytes.TrimSpace([]byte(" !!!!Learning how to trim a slice of bytes@@@@ "))
    res3 := bytes.TrimSpace([]byte(" Geek, GeeksforGeeks "))
  
    // 显示结果
    fmt.Printf("\n\n最终切片:\n")
    fmt.Printf("\n切片1:%s", res1)
    fmt.Printf("\n切片2:%s", res2)
    fmt.Printf("\n切片3:%s", res3)
} 

输出:



最终切片:

切片1:****Welcome to GeeksforGeeks****
切片2:!!!!Learning how to trim a slice of bytes@@@@
切片3:Geek, GeeksforGeeks