这篇文章给大家分享的是go语言中bytes包的使用方法,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。
代码:
package main
import (
"bytes"
"fmt"
)
func main() {
println("hello,world")
buff1 := make([]byte, 2)
writeInt16(buff1, uint16(15))
buff2 := make([]byte, 2)
writeInt16(buff2, uint16(13))
res := bytes.Compare(buff1, buff2)
fmt.Println(res)
buff3 := []byte("hello world hello world")
seq := []byte("hello")
res = bytes.Count(buff3, seq)
fmt.Println(res)
contains := bytes.Contains(buff3, seq)
println(contains)
res = bytes.Index(buff3, seq)
println(res)
res = bytes.LastIndex(buff3, seq)
println(res)
a := rune('e')
res = bytes.IndexRune(buff3, a)
println("indexRune:", res)
println("------------")
buff5 := []byte("abcabcabcabc")
arr := bytes.SplitN(buff5, []byte("a"), 3)
for _, v := range arr {
for _, t := range v {
print(t)
print(",")
}
println("|")
}
println("------------")
buff6 := []byte("abc abc abc abc")
arr = bytes.Fields(buff6)
for _, v := range arr {
for _, t := range v {
print(t)
print(",")
}
println("|")
}
println("------------")
buff7 := []byte("abcabcabcabc")
arr = bytes.FieldsFunc(buff7, spilt)
for _, v := range arr {
for _, t := range v {
print(t)
print(",")
}
println("|")
}
buff8 := []byte("我是中国人")
data := bytes.Runes(buff8)
for _, elem := range data {
println(string(elem))
}
buff9 := bytes.Title(buff7)
println(string(buff9))
buff10 := bytes.Map(func(r rune) rune {
if r == 'c' {
return 'a'
}
return r
}, buff7)
println(string(buff10))
}
func spilt(r rune) bool {
if r == 'c' {
return true
}
return false
}
func writeInt16(buff []byte, data uint16) {
for i := 0; i < 2; i++ {
buff[i] = byte(data >> uint(i*8))
}
}
func printBytes(varBytes []byte) {
strByte := string(varBytes)
fmt.Println(strByte)
}
输出
97,98,|
97,98,|
97,98,|
97,98,|
我
是
中
国
人
Abcabcabcabc
abaabaabaaba
关于go语言中bytes包的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。