在Go语言中,切片比数组更强大、更灵活、更方便,是一种轻量级的数据结构。切片是一个可变长度的序列,它存储类似类型的元素,不允许在同一个切片中存储不同类型的元素。
【如何在Golang中修剪字节切片()】在Go的字节切片中,允许使用trim()函数从给定的切片中裁剪所有的前导和尾部utf-8编码的代码点。这个函数通过切片所有在给定字符串中指定的utf -8编码的前导和尾部代码点,返回原始片的子片。如果给定的字节片中不包含指定的字符串,那么这个函数将不做任何更改返回原始的片。它是在bytes包下定义的,因此,你必须在程序中导入bytes包来访问Trim函数。
语法如下:
func Trim(ori_slice[]byte, cut_string string) []byte
这里, ori_slice是原始字节切片, 而cut_string表示要在给定切片中修剪的字符串。让我们借助给定的示例来讨论这个概念:
示例1:
//Go program to illustrate the concept
//of trim in the slice of bytes
package mainimport (
"bytes"
"fmt"
)func main() {//Creating and initializing
//the slice of bytes
//Using shorthand declaration
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' , '%' }//Displaying slices
fmt.Println( "Original Slice:" )
fmt.Printf( "Slice 1: %s" , slice_1)
fmt.Printf( "\nSlice 2: %s" , slice_2)
fmt.Printf( "\nSlice 3: %s" , slice_3)//Trimming specified leading
//and trailing Unicodes points
//from the given slice of bytes
//Using Trim function
res1 := bytes.Trim(slice_1, "!#" )
res2 := bytes.Trim(slice_2, "*^" )
res3 := bytes.Trim(slice_3, "@" )//Display the results
fmt.Printf( "New Slice:\n" )
fmt.Printf( "\nSlice 1: %s" , res1)
fmt.Printf( "\nSlice 2: %s" , res2)
fmt.Printf( "\nSlice 3: %s" , res3)}
输出如下:
Original Slice:
Slice 1: !!srcmini##
Slice 2: **Apple^^
Slice 3: %geeks%New Slice:Slice 1: srcmini
Slice 2: Apple
Slice 3: %geeks%
示例2:
//Go program to illustrate the concept
//of trim in the slice of bytes
package mainimport (
"bytes"
"fmt"
)func main() {//Creating and trimming
//the slice of bytes
//Using Trim function
res1 := bytes.Trim([]byte( "****Welcome to srcmini****" ), "*" )
res2 := bytes.Trim([]byte( "!!!!Learning how to trim a slice of bytes@@@@" ), "!@" )
res3 := bytes.Trim([]byte( "^^Geek&
&
" ), "$" )//Display the results
fmt.Printf( "Final Slice:\n" )
fmt.Printf( "\nSlice 1: %s" , res1)
fmt.Printf( "\nSlice 2: %s" , res2)
fmt.Printf( "\nSlice 3: %s" , res3)
}
输出如下:
Final Slice:Slice 1: Welcome to srcmini
Slice 2: Learning how to trim a slice of bytes
Slice 3: ^^Geek&
&
推荐阅读
- 如何关闭数字中的特定位()
- 如何在C#中终止线程()
- 如何使用Java在Selenium WebDriver中截屏()
- 如何在一行中交换两个变量()
- 如何在Golang中分割字符串()
- e-3Podman容器管理和Cockpit管理Podman
- linux 配置本地光盘YUM源
- 第十七周
- centos8.5 更新失败