golang grpc

golang按换行符一行一行读取GBK文件

package awesomeProject1 import ( "bufio" "fmt" "github.com/axgle/mahonia" "io" "log" "os" ) func main() { filename := "/tmp/test.txt" readTbkByLine(fi ......
一行 换行符 文件 golang GBK

Nameko,gRPC,Spring Cloud区别?

他们都是基于RPC这个思想理念,弄出来的具体的框架。 我咨询chatGPT4,他们在下面11个不同维度的区别是什么? Certainly, here's a comparison in the form of a Markdown table: 特性 Nameko gRPC Spring Cloud ......
Nameko Spring Cloud gRPC

golang的try catch 方式

列子如下 :main.go 1 try.Catch(func(err error) { 2 //异常处理 3 fmt.Println(err) 4 }).Then(func() error { 5 //执行代码 1 6 //... 7 8 //如果有异常即抛出异常 9 return nil 10 } ......
方式 golang catch try

cerbos golang 内部policy check 处理简单说明

主要是想尝试实现一个rust 的check 方法,所以先研究下golang 的内部实现 CheckResources func (cs *CerbosService) CheckResources(ctx context.Context, req *requestv1.CheckResourcesR ......
cerbos golang policy check

Golang(Go语言) 对windows进行注销、关机、重启、闪电关机、闪电重启的操作

有个小项目需要对windows系统进行远程电源操作,于是封装了以下代码方便使用。 目录结构如下: main.go package main import ( "fastshutdown/utils/power" "fmt" ) func main() { err := power.Shutdown( ......
windows 语言 Golang

golang的蓝牙通信库

github.com/tinygo-org/bluetooth: TinyGo是一个Go语言编译器,它专注于微控制器和小型计算机系统。这个库是TinyGo项目的一部分,用于支持蓝牙低功耗(BLE)设备。 github.com/go-ble/ble: 这是一个轻量级的Golang库,旨在简化与蓝牙低功 ......
golang

golang之媒体处理

[视频] 获取视频封面图: 1) 如果是使用oss的话, 可以添加指定的后缀生成指定图片 获取视频长度: 1)若是oss上的视频,则可以使用阿里云的IMM中的提取视频信息的服务 注意这里获取需要使用到签名之后获取对应的数据 这里使用基于阿里云oss包: github.com/aliyun/aliyu ......
媒体 golang

处理golang gin框架下载文件时中文文件名乱码问题

func Download(c *gin.Context) { c.Writer.WriteHeader(http.StatusOK) //设置文件类型 c.Header("Content-Type", "application/vnd.ms-excel;charset=utf8") // Path ......
文件 乱码 文件名 框架 golang

go-carbon v2.2.14 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
轻量 轻量级 语义 开发者 go-carbon

Golang使用kcp

安装 go get -u github.com/xtaci/kcp-go import ( "fmt" "github.com/xtaci/kcp-go" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" "net" ) // KCP 服务器 func ......
Golang kcp

Golang中如何自定义时间类型进行xml、json的序列化/反序列化

在日常开发工作中,我们进行会遇到将 struct 序列化 json字符串以及将 json字符串 反序列化为 struct 的场景,大家也对此十分熟悉。 最近工作中,遇到了需要将 struct 序列化 xml字符串以及将 xml字符串 反序列化为 struct 的场景,对于普通类型的字段,比如int、 ......
序列 类型 时间 Golang json

Golang学习笔记-定时任务

指定具体时间执行 package main import ( "fmt" "time" ) func main() { // 指定执行时间为 2023-11-29 00:00:00 executionTime := time.Date(2023, time.November, 29, 0, 0, 0 ......
任务 笔记 Golang

golang http请求 tcp连接没有关闭

参考链接 https://studygolang.com/articles/3138 func dialTimeout(network, addr string) (net.Conn, error) { return net.DialTimeout(network, addr, time.Secon ......
golang http tcp

Golang-常见数据结构实现原理

chan 1.chan数据结构 src/runtime/chan.go:hchan定义了channel的数据结构: type hchan struct { qcount uint // 当前队列中剩余元素个数 dataqsiz uint // 环形队列长度,即可以存放的元素个数 buf unsafe ......
数据结构 原理 常见 结构 数据

Why gRPC ?

gRPC(gRPC Remote Procedure Call)是由 Google 开发的开源 RPC 框架,它基于 HTTP/2 标准,使用 Protocol Buffers 作为接口定义语言(IDL)。gRPC 提供了一种高效、跨语言、跨平台的远程过程调用(RPC)解决方案,被广泛应用于构建分布 ......
gRPC Why

gRPC

1. gRPC是什么? 1.1 什么是RPC服务 RPC,是Remote Procedure Call的简称,翻译成中文就是远程过程调用。RPC就是允许程序调用另一个地址空间(通常是另一台机器上)的类方法或函数的一种服务。 它是一种架设在计算机网络之上并隐藏底层网络技术,可以像调用本地服务一样调用远 ......
gRPC

Golang - context.TODO()和context.Background()的区别

context.Background():上下文的默认值(创建上下文的默认起点),这个函数返回一个空context,返回值就是根节点,这只能用于最高等级(在main函数、初始化或顶级请求处理中),因为所有其他的上下文都应该从它衍生(Derived)出来 context.TODO():通常用作占位符或 ......
context Background Golang TODO

打包Golang并在Android环境下运行

实践: 1、 打包Golang并在Android环境下运行-CSDN博客 https://blog.csdn.net/lszy24/article/details/78948130 翻译 搜索 复制 ......
Android 环境 Golang

实现一个简易的golang版本的CompletetableFuture

背景 将入侵4.0 java代码迁移到入侵5.0 golang项目时,有些并行处理的功能用到了java的CompletetableFuture框架,但是golang中好像没有类似的框架(可能我没有找到),所以打算手动写一个简易的golang版本的CompletetableFuture。 在入侵jav ......
CompletetableFuture 简易 版本 golang

在 ASP.NET Core gRPC 项目中链接项目目录外的 Protobuf 文件

内容包含在 ASP.NET Core gRPC Service 项目中引用当前project之外目录下的 .proto 文件方法,可以实现多个 gRPC 项目中引用同一个位置的 .proto 文件,减少 .proto 文件在不同位置来回复制所带来的不必要麻烦。 一直以来一直在使用基于 gRPC C- ......
项目 Protobuf 链接 文件 目录

Golang GORM 数据库操作

一. 初始化连接 1 package model 2 3 import ( 4 "fmt" 5 6 "gorm.io/driver/mysql" 7 "gorm.io/gorm" 8 ) 9 10 /*** 11 Navicat 数据库可视化工具: https://www.navicat.com/e ......
数据库 数据 Golang GORM

Windows安装Golang

1.到官网下载go安装包,安装 https://go.dev/dl/​# 假设安装在:D:\go 2.删除自动添加的GOPATH # 安装时会自动添加GOPATH变量到用户环境变量,需要删除,如果没有就不用管。 3.新建工作目录 # 假设工作目录定为:D:\code\go_project​在go_p ......
Windows Golang

Golang Gin Session & Cookie

一. Cookie 1 func (con UserControl) Index(c *gin.Context) { 2 /*** 设置Cookie 3 func (c *Context) SetCookie(name, value string, maxAge int, path, domain ......
Session Golang Cookie Gin amp

golang 根据 json path 提取字段值

在Golang中,可以使用github.com/tidwall/gjson包来根据JSON路径提取字段值。 package main import ( "fmt" "github.com/tidwall/gjson" ) func main() { jsonStr := ` { "name": "J ......
字段 golang json path

使用golang写一个导出excel的接口

Crafted by [Genie](https://marketplace.visualstudio.com/items?itemName=genieai.chatgpt-vscode) You 使用golang写一个导出excel的接口 Genie 要创建一个使用Go语言编写的导出Excel文件 ......
接口 golang excel

Golang Gin 中间件

一.中间件 1 package main 2 3 import ( 4 "fmt" 5 "gin01/middlewares" 6 "text/template" 7 "time" 8 9 "github.com/gin-gonic/gin" 10 ) 11 12 /*** 13 中间件的注意事项: ......
中间件 Golang Gin

golang sort包应用

一、sort内置排序函数 函数 作用 func Float64s(x []float64) 对float64类型的切片进行升序排序 func Float64sAreSorted(x []float64) bool 判断float64类型切片x是否按升序排序 func Ints(x []int) 对i ......
golang sort

GRPC

......
GRPC

Golang学习笔记-自定义日志轮转及输出

package pkg import ( "fmt" "log" "log/slog" "os" "time" ) var controlLogger *slog.Logger var fileLogger *slog.Logger const ( timeFormat = "2006-01-02" ......
笔记 Golang 日志

golang常用包详解之: errgroup

前言: 并发编程在现代软件开发中变得越来越重要。Go语言通过goroutine和channel等语言特性为并发编程提供了非常强大的支持,但是在实际开发中,如何有效管理多个goroutine并处理它们可能产生的错误是一个挑战。这时,Go语言的官方库中的errgroup包就能发挥作用。 正文: errg ......
errgroup 常用 golang