摘要: bytes.Buffer和bufio.Reader bytes.Buffer和bufio.Reader都是Go语言中常用的用于读写数据的类型,但它们的用途略有不同。 bytes.Buffer类型是一个缓存区,它提供了对内存缓存的读和写的支持。可以使用Write方法将数据写入缓存区,使用Read方法从 阅读全文
posted @ 2024-03-10 01:36 lovevivi121 阅读(146) 评论(0) 推荐(0)
摘要: msgpack.Marshal序列化之后的大小和原来大小比较 使用 msgpack.Marshal() 函数将数据序列化为 MessagePack 格式之后,通常情况下序列化后的大小会比原始数据的大小更小,因为 MessagePack 格式是一种紧凑的二进制格式,可以有效地压缩数据。 以下是一个示例 阅读全文
posted @ 2024-03-10 01:36 lovevivi121 阅读(35) 评论(0) 推荐(0)
摘要: 在Go语言中,flag包提供了简单易用的命令行参数解析功能,可以方便地从命令行中获取参数并进行相应的处理。flag.Int函数是flag包中的一个函数,用于解析整型参数。 flag.Int函数的定义如下: func Int(name string, value int, usage string) 阅读全文
posted @ 2024-03-10 01:36 lovevivi121 阅读(29) 评论(0) 推荐(0)
摘要: ctx, cancel := context.WithCancel(context.Background()) 在Go语言中,context包提供了一种机制,用于在不同的Goroutine之间传递请求作用域和取消信号。context.WithCancel函数是context包中的一个函数,用于创建一 阅读全文
posted @ 2024-03-10 01:36 lovevivi121 阅读(75) 评论(0) 推荐(0)
摘要: 我现在在用go写大文件分块传输的项目,应该从什么开始写 写大文件分块传输的项目,可以分成以下几个步骤: 确定项目需求:确定需要传输的文件类型、大小、传输速度等参数,并且明确传输协议和客户端与服务端的交互方式。 划分代码模块:将代码按照功能模块进行划分,比如文件上传、文件下载、文件分块、网络传输等等。 阅读全文
posted @ 2024-03-10 01:35 lovevivi121 阅读(32) 评论(0) 推荐(0)
摘要: package main import ( "database/sql" "fmt" "log" "math/rand" "time" _ "github.com/go-sql-driver/mysql" ) type Lottery struct { ID int PublishType int 阅读全文
posted @ 2024-03-10 01:29 lovevivi121 阅读(28) 评论(0) 推荐(0)
摘要: 1. 解决WSL2占用内存过多问题(Docker on WSL2: VmmemWSL) 2.1 创建.wslconfig文件 路径位置C:\Users\<UserName>\.wslconfig,如果找不到也可以在Win+R,然后输入%userprofile%回车即可 如果目录下不存在,则创建.ws 阅读全文
posted @ 2024-03-10 01:28 lovevivi121 阅读(58) 评论(0) 推荐(0)
摘要: 1.15、16 体验竞品,然后根据教学视频大概了解了go-zero的基本特性(知己知彼) api语法规范还有protocol大概的规范(之前只是有了解,不太清楚具体语法) 根据go-zero官方文档安装了goctl等工具。 搭建windows docker环境。docker for windows 阅读全文
posted @ 2024-03-10 01:28 lovevivi121 阅读(28) 评论(0) 推荐(0)
摘要: go-zero lottery项目——封装错误码具体操作流程 Model层 对于model层的错误应该进行封装。 在common/xerr/errCode.go声明错误码 在errMsg.go声明对应的错误信息 model层对应的错误,进行封装,对应的参数信息也需要加上 errors.Wrapf(x 阅读全文
posted @ 2024-03-10 01:27 lovevivi121 阅读(56) 评论(0) 推荐(0)