在 Go 語言中分割位元組切片(以指定分隔符為界)


在 Go 語言中,經常需要根據特定分隔符分割位元組切片。可以使用內建函式 `bytes.SplitAfter()` 來實現。此函式會在指定分隔符的每次出現之後將位元組切片分割成子切片。本文將討論如何在 Go 語言中根據特定分隔符分割位元組切片。

`bytes.SplitAfter()` 的語法

`bytes.SplitAfter()` 函式的語法如下:

func SplitAfter(s, sep []byte) [][]byte

其中,`s` 是要分割的位元組切片,`sep` 是分隔符。

示例

package main

import (
   "fmt"
   "bytes"
)

func main() {
   s := []byte("apple,orange,banana,mango")
   sep := []byte(",")
   result := bytes.SplitAfter(s, sep)
   fmt.Println(result)
}

輸出

[[97 112 112 108 101 44] [111 114 97 110 103 101 44] [98 97 110 97 110 97 44] [109 97 110 103 111]]

在上面的例子中,我們有一個包含字串 "apple,orange,banana,mango" 的位元組切片 `s`。我們希望在分隔符 "," 的每次出現之後分割這個位元組切片。我們建立了一個包含分隔符 "," 的分隔符切片 `sep`。我們將位元組切片 `s` 和分隔符切片 `sep` 傳遞給 `bytes.SplitAfter()` 函式。該函式返回一個位元組切片切片 `result`,其中每個位元組切片都包含原始位元組切片 `s` 在分隔符 "," 每次出現之後對應的子切片。

結論

本文討論瞭如何使用內建函式 `bytes.SplitAfter()` 在 Go 語言中根據特定分隔符分割位元組切片。此函式會在指定分隔符的每次出現之後將位元組切片分割成子切片。使用此函式,我們可以輕鬆地根據需要將位元組切片分割成子切片。

更新於:2023年4月18日

343 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告