golang grpc

golang之gRPC

相关链接: grpc: https://grpc.io/docs/languages/go/quickstart/ protobuf: https://protobuf.dev/programming-guides/proto3/ protobuf语法: 示例: syntax = "proto3"; ......
golang gRPC

Golang chan 的实现原理

Golang chan 的实现原理 Go语言中的chan(通道)是一种用于在不同的goroutines之间进行通信和同步的重要机制。chan的实现原理涉及到Go语言的运行时系统和底层的数据结构。以下是chan的主要实现原理: 底层数据结构:chan的底层数据结构是一个用于存储数据的环形队列(circ ......
原理 Golang chan

golang map/sync.map 实现

map Go 中的 map 是一种高效的散列表(hash table)实现,它的底层实现细节包括以下重要方面: 哈希表(Hash Table):map 的底层数据结构是一个哈希表。哈希表是一个数组,每个元素都是一个哈希桶,用于存储键值对。 哈希函数(Hash Function):Go 使用哈希函数将 ......
map golang sync

解决 golang 中 grep console 插件不生效问题

日志多了以后不好找,idea 中的神奇 grep console 在 goland 竟然不好使了,一番查找下,找到了一个解决方案 cmd+shift+a 找到 Registry 找到go.run.processes.with.pty,改为 false 大功告成 原贴:https://github.c ......
插件 console golang 问题 grep

Golang 使用SQLX实现可选条件查询

package main import ( "fmt" "log" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" ) type CityQuery struct { query string opts cityQueryOp ......
条件 Golang SQLX

golang 使用gomail.v2发送电子邮件

1 package email 2 3 import ( 4 "errors" 5 "gopkg.in/gomail.v2" 6 ) 7 8 var dialer *gomail.Dialer 9 10 func Reset(host string, port int, username, pass ......
电子邮件 邮件 golang gomail 电子

Golang HOT100 做题记录

LeetCode 热题100 1. 两数之和 题目大意:给出一个数字的数 []num,一个目标值 target。在数组中,找出两数之和为目标值的下标,任意输出一个答案。 例子:num[] = {0, 2,3, 4, 2}, target = 4, 输出:[]int{0,3} 注意点:1. 不能重复, ......
Golang 100 HOT

GoLang sync.Mutex和sync.RWMutex

Mutex可以看做是锁,RWMutex则是读写锁 使用锁时优先使用RWMutex RWMutex:核心就是四个方法,RLock、RUnlock、Lock、UnlockMutex:Lock 和 Unlock double-check就是加读锁先检查一遍,释放读锁,加写锁,再检查一遍 锁的实现一般是依赖 ......
sync RWMutex GoLang Mutex

GoLang context包

初始化一个context如果确定是开头则用Background,如果不确定则用ToDo context包核心API有四个1.context.WithValue 设置键值对,并且返回一个新的context实例 2.context.WithCancel 3.context.WithDeadline 4. ......
context GoLang

golang实现一个简单的文件浏览下载功能代码示例

想省事用Claude(一个 依托chatgpt 的 AI)生成一段 golang 的文件浏览下载示例,结果给生成的代码大概是这样的(省去了无关部分,主要部分如下): http.HandleFunc("/*", downloadFile) http.HandleFunc("/", showFileLi ......
示例 代码 功能 文件 golang

使用jprofiler 14 查看dremio 的grpc 调用

我以前也写过使用就profiler分析dremio 调用链的,jprofiler 14 支持独立的grpc 功能节点了,可以方便我们了解dremio 内部grpc 的调用机制 环境配置 这个就比较简单了,具体可以参考我以前写的文章(包含了基于agent 模式以及attach 模式的) 参考效果 参考 ......
jprofiler dremio grpc 14

Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《Strimzi Kafka Bridge(桥接)实战》的第三篇,前文咱们掌握了Strimzi Kafka Bridge的基本功能:基于h ......
实战 Strimzi 版本 Bridge golang

基于goravel的CMS,企业官网通用golang后台管理系统

2023年9月11日10:47:00 仓库地址: https://gitee.com/open-php/zx-goravel-website CMS,企业官网通用PHP后台管理系统 框架介绍 Goravel SCUI 后端开发组件 go 1.20 Goravel 1.13 数据库 sql(使用最新日 ......
后台 管理系统 goravel golang 系统

gin上使用Grpc入门

要在Go中使用基于Gin的gRPC,你需要执行以下步骤: 安装gRPC:使用以下命令安装gRPC: go get -u google.golang.org/grpc shell复制代码 安装protoc-gen-go:使用以下命令安装protoc-gen-go插件,它用于将protocol buff ......
Grpc gin

Dubbo3应用开发—协议(Dubbo协议、REST协议 、gRPC协议、Triple协议)

协议 协议简介 什么是协议 Client(Consumer端)与Server(Provider端)在传输数据时双方的约定。 Dubbo3中常见的协议 1.dubbo协议[前面文章中使用的都是dubbo协议] 2.rest协议 3.triple协议 4.grpc协议 5.thirft协议 6.webs ......
Dubbo 应用开发 Dubbo3 Triple REST

golang 代码实现一个工具函数:用于合并两个go map

内容来自对 chatgpt 的咨询 初始化一个新 map,然后遍历两个旧 map,把每个元素都存到新 map 即可。 package main import "fmt" // MergeMaps 创建一个新的 map 用于保存合并后的值。返回新的 map。 func MergeMaps(destMa ......
函数 两个 代码 工具 golang

golang 代码实现:并发请求下游接口,下游接口限制请求参数中某数组单次最多传20个

内容来自对 chatgpt 的咨询 假设你有一个golang 的数组,数组元素数量大于20,你需要调用下游接口,但是接口的请求参数限制了一次最多传20个,为了节省时间,你需要并发调用,完整整个数组的下游调用,请完成代码编写 写法一 我们将数组切分成最大20个元素的小块,并对每个块并发调用下游接口: ......
接口 数组 参数 代码 golang

golang 代码实现如果在在一个秒级时间戳上加上23h59m59s

代码来自chatgpt 实现如果在在一个秒级时间戳上加上23h59m59s 先把时间戳转换成 time 对象,然后利用 Add 函数在该对象上添加23h59m59s,最后获取时间对象的时间戳 package main import ( "fmt" "time" ) func main() { // ......
23h59m59s 代码 时间 golang 59

golang grom 实现 INSERT...ON DUPLICATE KEY UPDATE

内容来自对 chatgpt 的咨询 前言(INSERT...ON DUPLICATE KEY UPDATE 介绍) 当你在MySQL中插入数据,如果唯一键发生冲突,可以使用 INSERT...ON DUPLICATE KEY UPDATE 语句实现插入和更新操作。其基本语法如下: INSERT IN ......
DUPLICATE golang INSERT UPDATE grom

golang 使用 gorm 查询数据 demo

内容来自对 chatgpt 的咨询 题目 假设你有一张学生数据库表,需要通过golang 的gorm查询某个id的学生实体 查询 demo 在这段代码中,"student"变量是一个Student类型的结构体,用于存储查询结果。我们通过调用gorm.DB的Where方法和 First 方法,将第一个 ......
数据 golang demo gorm

golang 求出这两个对象数组的2个差集,即存在其中一个数组,但是不存在于另一个数组

代码来自 chatgpt package main import ( "fmt" "reflect" ) type Object struct { ID int } func main() { a := []Object{{1}, {2}, {3}} b := []Object{{2}, {3}, ......
数组 差集 对象 两个 golang

Go每日一库之135:Ent(Facebook 开源 Golang 实体框架)

> 对于**后端开发者**来说,一款好用的框架能够大大提升应用的开发效率。为了降低开发者使用 TiDB 的门槛,**方便开发者快速连接到 TiDB**,我们也在和合作伙伴一起,逐步完善**面向主流开发语言和框架的连接支持**。 ![每日一库之135:Ent(Facebook%20开源%20Golan ......
实体 框架 Facebook Golang 135

Go每日一库之133:lo(基于泛型的 Golang lodash 库)

近日,Go 核心开发团队终于宣布了 Go 1.18 正式版本的发布!这是一个大家期待很久的版本!Go 1.18 包含大量新功能:模糊测试、性能改进、工作区等,以及 Go 语言开源以来最大的一次语法特性变更 —— 支持泛型! 支持泛型后,我们便不再需要写如下冗余的代码: ![每日一库之133:lo(基 ......
Golang lodash 133

Go每日一库之99:go-grpc-middleware

grpc的中间件以及中间件库有很多,[go-grpc-middleware](https://github.com/grpc-ecosystem/go-grpc-middleware)应该是其中应用最广泛,本文主要介绍其中的grpc_zap、grpc_auth和grpc_recovery中间件。 # ......
go-grpc-middleware middleware grpc go

golang-select

select的作用 golang 中的 select 就是用来监听和 channel 有关的 IO 操作,当 IO 操作发生时,触发相应的动作。select 只能应用于 channel 的操作,既可以用于 channel 的数据接收,也可以用于 channel 的数据发送。如果 select 的多个 ......
golang-select golang select

golang之命令行工具Cobra

github地址: https://github.com/spf13/cobra [安装] go get -u github.com/spf13/cobra@latest 使用cobra_cli工具 go install github.com/spf13/cobra-cli@latest [使用] ......
命令 工具 golang Cobra

golang-channel

什么是 channel 管道 channel 是 goroutine 与 goroutine 之间通信的重要桥梁 channel 是一个通道,用于端到端的数据传输,这有点像我们平常使用的消息队列,只不过 channel 的发送方和接受方是 goroutine 对象,属于内存级别的通信。 这里涉及到了 ......
golang-channel channel golang

在windows10上安装多个golang

在windows10上安装多个golang # 原理 下载不同go版本,然后重命名go可执行文件,然后配置环境变量,不同命令使用不同的版本。 其实所有的开发环境都可以这么使用。比如python2,python3 # 方法 问的[文心一言](https://yiyan.baidu.com/),哈哈哈哈 ......
多个 windows golang 10

golang-waitgroup

说明 golang通过waitgroup来实现并发控制,用法跟java的CountDownLatch 效果一样 WaitGroup 的使用场景和方法 我们通过goroutine运行一个或者一组任务,需要关心这组任务执行完了进行通知 WaitGroup 如同它的字面意思,就是等待一组 goroutin ......
golang-waitgroup waitgroup golang

一个思路:实现 golang 中的 `__file__` `__line__` 宏

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 测试 zaplog 发现,开启 caller 的调用,会使整个服务增加 2% 的损耗。 其实文件及其行号完全可以在编译期加上去,没必要带来运行期的性能损耗。 ......
思路 golang file line