go语言中bytes包的使用方法

这篇文章给大家分享的是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)
}

输出

hello,world
1
2
true
0
12
indexRune: 1

|
98,99,|
98,99,97,98,99,97,98,99,|

97,98,99,|
97,98,99,|
97,98,99,|
97,98,99,|

97,98,|
97,98,|
97,98,|
97,98,|





Abcabcabcabc
abaabaabaaba

关于go语言中bytes包的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原创文章,作者:EBYKD,如若转载,请注明出处:https://www.beidanyezhu.com/a/26188.html

(0)
EBYKD的头像EBYKD
上一篇 2025-01-01
下一篇 2025-01-01

相关推荐

  • go语言适合开发什么

    其实Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于需要很多程序员一起开发,并且开发周期较长的大型软件和支持云计算的网络服务。 Go语言融合了传统编译型语言的高…

  • go语言中的nil是什么

    大家都清楚,当你声明了一个变量 但却还并木优赋值时,golang中会自动给你的变量类型给一个对应的默认零值。 这是每种类型对应的零值: bool -> false numbe…

  • go语言使用json隐藏字段的方法

    使用场景:在 go 中给 API 调用者响应 json 数据。 1. 有些字段不暴露给用户。 2. 有些字段是根据用户的级别控制是否有这些数据。 Id字段不暴露给用户,则使用 `j…

    2025-01-03
  • go语言中可以把包名去掉吗

    Golang不可以把包名去掉,包名是一种类似命名空间的管理和组织代码的方式,而Golang的包有两种类型,一种是“main”包,该包的可以有唯一的一个“main”函数,这个函数也是…

  • go语言支持泛型吗

    Golang团队认为在类型系统和运行时的复杂性花费太大,还没找到可以和这个复杂性相抵的良好设计。 内置的map和slice其实都有泛型的味道,加上可以用interface{}来构造…

  • go语言适合开发web吗

    go语言适合开发web吗?相信大部分人都不太了解,今天小编为了让大家更加了解,给大家总结了以下内容,跟随小编一起来看看吧。 网络编程方面,Go语言广泛应用于 Web 应用、API …

  • go语言中的反射

    反射是什么? 反射是一种计算机处理方式。有程序可以访问、检测和修改它本身状态或行为的这种能力。能提供封装程序集、类型的对象。(程序集包含模块,而模块包含类型,类型又包含成员。)Go…

  • go语言中的byte是什么

    字符串中的每一个元素叫做“字符”,在遍历或者单个获取字符串元素时可以获得字符。 Go语言的字符有以下两种: 一种是 uint8 类型,或者叫 byte 型,代表了 ASCII 码的…

  • 如何设计go语言中的log

    Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 …

  • go语言中make和new的区别是什么

    make、new make用于内建类型(map、slice 和channel)的内存分配,golang分配内存有一个make函数,该函数第一个参数是类型,第二个参数是分配的空间,第…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部