随笔分类 -  GoLang

有关于Go语言的相关学习与日常总结
摘要:RawMessage 具体来讲是 json 库中定义的一个类型。它实现了 Marshaler 接口以及 Unmarshaler 接口,以此来支持序列化的能力。注意上面我们引用 官方 doc 的说明。 使用场景 设想一下,我们给某种业务场景定义了一个通用的 model,其中部分数据需要在不同场景下对应 阅读全文
posted @ 2024-04-26 12:52 X-Wolf 阅读(340) 评论(0) 推荐(0) 编辑
摘要:1. io.Reader转化为字符串, byte切片 import "bytes" func StreamToByte(stream io.Reader) []byte { buf := new(bytes.Buffer) buf.ReadFrom(stream) return buf.Bytes( 阅读全文
posted @ 2024-04-10 12:55 X-Wolf 阅读(14) 评论(0) 推荐(0) 编辑
摘要:简介 fasttemplate是一个比较简单、易用的小型模板库。fasttemplate的作者valyala另外还开源了不少优秀的库,如大名鼎鼎的fasthttp,前面介绍的bytebufferpool,还有一个重量级的模板库quicktemplate。quicktemplate比标准库中的text 阅读全文
posted @ 2024-03-26 11:26 X-Wolf 阅读(60) 评论(0) 推荐(0) 编辑
摘要:汇总平常开发中较为常用的工具 [sql2struct] 将MySQL快速生成struct github: https://github.com/idoubi/sql2struct 阅读全文
posted @ 2024-03-15 09:52 X-Wolf 阅读(20) 评论(0) 推荐(0) 编辑
摘要:枚举类型是一种常用的数据类型,用于表示一组有限的、预定义的、具名的常量值。在枚举类型中,每个常量都是一个枚举值,它们之间的值相等且唯一。 枚举类型通常用于表示一组相关的常量,比如星期、月份、性别等等。在其他语言里(比如 Java 和 C),都内置了枚举类型,而在 Go 语言里是没有内置枚举类型的,因 阅读全文
posted @ 2024-02-08 08:31 X-Wolf 阅读(430) 评论(0) 推荐(0) 编辑
摘要:gf框架提供了非常强大的类型转换包gconv,可以实现将任何数据类型转换为指定的数据类型,对常用基本数据类型之间的无缝转换,同时也支持任意类型到struct对象的属性赋值。由于gconv模块内部大量使用了断言而非反射(仅struct转换使用到了反射),因此执行的效率非常高。 使用方式: import 阅读全文
posted @ 2024-02-07 16:55 X-Wolf 阅读(277) 评论(0) 推荐(0) 编辑
摘要:转载: https://juejin.cn/post/7327157426298011663 Timer 是一个一次性的定时器,用于在未来的某一时刻执行一次操作。 基本使用 创建 Timer 定时器的方式有两种: NewTimer(d Duration) *Timer:该函数接受一个 time.Du 阅读全文
posted @ 2024-02-07 15:16 X-Wolf 阅读(355) 评论(0) 推荐(0) 编辑
摘要:1. import "runtime/debug" func Stack func Stack() []byte Stack 返回格式化的go程的调用栈踪迹。 对于每一个调用栈,它包括原文件的行信息和PC值;对go函数还会尝试获取调用该函数的函数或方法,及调用所在行的文本。 func PrintSt 阅读全文
posted @ 2024-02-07 14:09 X-Wolf 阅读(55) 评论(0) 推荐(0) 编辑
摘要:[选项模式] package main import "fmt" type OptionFunc func(*DoSomethingOption) type DoSomethingOption struct { a int b string c bool } func NewDoSomethingO 阅读全文
posted @ 2024-02-06 17:43 X-Wolf 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Go 1.18版本增加了对泛型的支持,泛型也是自 Go 语言开源以来所做的最大改变。 泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。ーー换句话说,在编写某些代码或数据结构时先不提供值的类型,而是之后再提供。 泛型是一种独立于所使用的特定类型的 阅读全文
posted @ 2023-12-11 08:32 X-Wolf 阅读(317) 评论(0) 推荐(0) 编辑
摘要:[视频] 获取视频封面图: 1) 如果是使用oss的话, 可以添加指定的后缀生成指定图片 视频截帧: https://help.aliyun.com/zh/oss/user-guide/video-snapshots?spm=a2c4g.11186623.0.0.8ea266d4kR5bST 2) 阅读全文
posted @ 2023-12-05 10:28 X-Wolf 阅读(366) 评论(0) 推荐(0) 编辑
摘要:Asynq[1]是一个Go实现的分布式任务队列和异步处理库,基于redis,类似Ruby的sidekiq[2]和Python的celery[3]。Go生态类似的还有machinery[4]和goworker 同时提供一个WebUI asynqmon[5],可以源码形式安装或使用Docker imag 阅读全文
posted @ 2023-10-12 12:54 X-Wolf 阅读(907) 评论(0) 推荐(0) 编辑
摘要:Protocol Buffers(protobuf)是一种语言无关,平台无关,可扩展的用于序列化结构化数据的方式——类似XML,但比XML更灵活,更高效。 使用protobuf语法编写xxx.proto文件,然后将其编译成可供特定语言识别和使用的代码文件,供程序调用,这是protobuf的基本工作原 阅读全文
posted @ 2023-10-11 09:24 X-Wolf 阅读(347) 评论(0) 推荐(0) 编辑
摘要:相关链接: grpc: https://grpc.io/docs/languages/go/quickstart/ protobuf: https://protobuf.dev/programming-guides/proto3/ protobuf语法: 示例: syntax = "proto3"; 阅读全文
posted @ 2023-10-10 16:57 X-Wolf 阅读(79) 评论(0) 推荐(0) 编辑
摘要:github地址: https://github.com/spf13/cobra [安装] go get -u github.com/spf13/cobra@latest 使用cobra_cli工具 go install github.com/spf13/cobra-cli@latest [使用] 阅读全文
posted @ 2023-09-28 14:47 X-Wolf 阅读(104) 评论(0) 推荐(0) 编辑
摘要:示例: 大家经常碰到命名错误码、状态码的同时,又要同步写码对应的翻译,有没有感觉很无聊。这里举一个例子: package main ​ import "fmt" ​ // 定义错误码 const ( ERR_CODE_OK = 0 // OK ERR_CODE_INVALID_PARAMS = 1 阅读全文
posted @ 2023-09-15 09:37 X-Wolf 阅读(409) 评论(0) 推荐(0) 编辑
摘要:作为一个 Golang 开发,你可能在项目中遇到过包的循环依赖问题。Golang 不允许循环依赖,如果检测到代码中存在这种情况,在编译时就会抛出异常。 循环依赖 假设我们有两个包:p1和p2。当包p1依赖包p2,包p2依赖包p1时,就会产生循环依赖。真实情况可能会更复杂一些。例如,包p2不直接依赖包 阅读全文
posted @ 2023-09-05 19:34 X-Wolf 阅读(274) 评论(0) 推荐(0) 编辑
摘要:lancet(柳叶刀)是一个全面、高效、可复用的go语言工具函数库。 lancet受到了java apache common包和lodash.js的启发。 简体中文 | English 特性 👏 全面、高效、可复用。 💪 600+常用 go 工具函数,支持 string、slice、dateti 阅读全文
posted @ 2023-09-01 09:14 X-Wolf 阅读(340) 评论(0) 推荐(0) 编辑
摘要:在实际开发中,当开发完一个 apiserver 特性后,会编译 apiserver 二进制文件并发布到生产环境,很多时候为了定位问题和出于安全目的(不能发错版本),我们需要知道当前 apiserver 的版本,以及一些编译时候的信息,如编译时 Go 的版本、Git 目录是否 clean,以及基于哪个 阅读全文
posted @ 2023-08-24 19:29 X-Wolf 阅读(390) 评论(0) 推荐(0) 编辑

 
点击右上角即可分享
微信分享提示
杭州
16:20发布
杭州
16:20发布
6°
北风
2级
空气质量
相对湿度
81%
今天
多云
6°/9°
周三
多云
4°/11°
周四
多云
2°/11°