在 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 語言中根據特定分隔符分割位元組切片。此函式會在指定分隔符的每次出現之後將位元組切片分割成子切片。使用此函式,我們可以輕鬆地根據需要將位元組切片分割成子切片。
廣告