溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

golang bytes包解讀

發(fā)布時間:2020-07-06 17:49:42 來源:網(wǎng)絡(luò) 閱讀:2558 作者:IT職場小白 欄目:開發(fā)技術(shù)

golang中的bytes標(biāo)準(zhǔn)庫實(shí)現(xiàn)了對字節(jié)數(shù)組的各種操作,與strings標(biāo)準(zhǔn)庫功能基本類似。

功能列表:
1、字節(jié)切片 處理函數(shù)
(1)、基本處理函數(shù)
(2)、字節(jié)切片比較函數(shù)
(3)、前后綴檢查函數(shù)
(4)、字節(jié)切片位置索引函數(shù)
(5)、分割函數(shù)
(6)、大小寫處理函數(shù)
(7)、子字節(jié)切片處理函數(shù)
2、Buffer 對象
3、Reader 對象

基本處理函數(shù)
Contains() :返回是否包含子切片
func Contains(b, subslice []byte) bool

案例:golang bytes包解讀
執(zhí)行結(jié)果:
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  go build strconv.go
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  ./strconv
false
true
true
false

Count():計算子字節(jié)切片在字節(jié)切片中的重疊數(shù)量
func Count(s, sep []byte) int

案例:
golang bytes包解讀
執(zhí)行結(jié)果:
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  go build strconv.go
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  ./strconv
1
2
2
1

Map():首先將字節(jié)切片轉(zhuǎn)化為 UTF-8編碼的字符序列,然后使用 mapping 將每個Unicode字符映射為對應(yīng)的字符,最后將結(jié)果保存在一個新的字節(jié)切片中。
func Map(mapping func(r rune) rune, s []byte) []byte

案例:
golang bytes包解讀
執(zhí)行結(jié)果:
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  ./strconv
你好,我是楊國強(qiáng)!
你好,我叫楊國強(qiáng)!

Repeat():將切片復(fù)制count個,返回新的切片
func Repeat(b []byte, count int) []byte
案例:
golang bytes包解讀

執(zhí)行結(jié)果:
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  go build strconv.go
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  ./strconv
googlegooglegooglegooglegoogle

Replace():返回字節(jié)切片 S 的一個副本, 并且將前n個不重疊的子切片 old 替換為 new,如果n < 0 那么不限制替換的數(shù)量
func Replace(s, old, new []byte, n int) []byte
案例:
golang bytes包解讀
執(zhí)行結(jié)果:
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  go build strconv.go
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  ./strconv
gcvicvigle
gcvicvigle
gcviogle
gcvicvigle
解釋:其中s為要替換的字節(jié)切片,old為被替換的字節(jié)切片,new為要替換的字節(jié)切片,n為替換幾個匹配字節(jié)切片,一旦超過最大被替換字節(jié)切片,則新的字節(jié)切片不再增加。

Runes()將 S 轉(zhuǎn)化為對應(yīng)的 UTF-8 編碼的字節(jié)序列,并且返回對應(yīng)的Unicode 切片
func Runes(b []byte) []rune
案例:
golang bytes包解讀
注:
1、每個 rune 變量占據(jù) 4個字節(jié),等價于 int32
2、每個 byte 變量占據(jù)1個字節(jié),等價于int8
執(zhí)行結(jié)果:
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  go build strconv.go
sf@SFdeMacBook-Pro  ~/Documents/project/src/test  ./strconv
××× 21
××× 7

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI