在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