example golang grpc

golang中汇编语义

bito> TEXT main.main(SB) D:/main.go main.go:12 0xea7580 493b6610 CMPQ 0x10(R14), SP main.go:12 0xea7584 0f8691000000 JBE 0xea761b main.go:12 0xea758a ......
语义 golang

go-carbon v2.3.0 圣诞特别版发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

go-carbon v2.3.0 圣诞节特别版发布,这应该是 2023 年的最后一个版本,祝大家圣诞节快乐! carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com ......
轻量 轻量级 语义 开发者 go-carbon

golang 项目开发如何创建 Module

golang 项目开发如何创建 Module 原创 demo007x 知识派 2023-12-22 08:30 发表于北京 听全文 golang 项目开发如何创建 Module img 为什么要创建一个 Module? 我们日常开发程序的时候都会引入第三方的 package,使用第三方的 packa ......
项目开发 项目 golang Module

详解 golang 中获取变量类型的3种方法

package main import ( "fmt" "reflect" ) func main() { var num float64 = 3.14 // 方法1: println(reflect.TypeOf(num).Name()) // 方法2: fmt.Println(reflect.T ......
变量 类型 方法 golang

Golang协程池ants

官方示例 package main import ( "fmt" "github.com/panjf2000/ants/v2" "sync" "sync/atomic" "time" ) var sum int32 func myFunc(i interface{}) { n := i.(int32 ......
Golang ants

Golang压测ws

package main import ( "fmt" "log" "sync" "time" "github.com/gorilla/websocket" ) func main() { // 设置要压测的WebSocket服务地址 url := "ws://192.168.252.128:808 ......
Golang

golang 的github.com/sony/sonyflake IP问题bug

使用容器部署golang项目时,饮用了 github.com/sony/sonyflake 生成snow id,初始化时不传入任何参数: SnowId = sonyflake.NewSonyflake(sonyflake.Settings{}) 在容器的ip设置设置为类似:192.18.10.8时, ......
sonyflake golang github 问题 sony

Golang实现JAVA虚拟机-运行时数据区

原文链接:https://gaoyubo.cn/blogs/8ae1f4ca.html 前置 Golang实现JAVA虚拟机-解析class文件 一、运行时数据区概述 JVM学习: JVM-运行时数据区 运行时数据区可以分为两类:一类是多线程共享的,另一类则是线程私有的。 多线程共享的运行时数据区需 ......
数据 Golang JAVA

Golang实现JAVA虚拟机-解析class文件

原文链接:https://gaoyubo.cn/blogs/de1bedad.html 前言 所需前置知识为:JAVA语言、JVM知识、Go笔记 对应项目:jvmgo 一、准备环境 操作系统:Windows 11 1.1 JDK版本 openjdk version "1.8.0_382" 1.2 G ......
文件 Golang class JAVA

Golang 常用工具记录

Golang 常用工具记录 1 golang 类 1.1 日常使用的 copier 复制结构体到另外一个结构体 等等类似的功能 asynq Go中简单、可靠、高效的分布式任务队列,使用 redis 做为 broker machinery Machinery是基于分布式消息传递的异步任务队列/作业队列 ......
常用工具 常用 工具 Golang

gRPC .proto文件解析

.proto文件解析 书接上回,创建了hello_grpc.proto文件后对其中参数进行解释,还是以上次的代码为案例 syntax = "proto3"; option go_package="./;hello_grpc"; package hello_grpc; message Req { st ......
文件 proto gRPC

Grpc的内部原理、优缺点

gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。gRPC 默认使用protocol buffers,这是Google开源的一套成熟的结构数据序列化机制(也可使用其他数据格式如JSON) 基于go的一种远程过程调用,RPC 框架的目标就是让远程服务调用更加简单、透明 ......
优缺点 原理 Grpc

golang go.mod

go mod 指定并加载版本号4.1. 方法一 go mod指定替换版本在项目的go.mod中用replace指定包版本号,比如: replace google.golang.org/grpc => google.golang.org/grpc v1.26.04.2. 方法二 go mod指定大小版 ......
golang mod go

golang中的fs.ReadDir

平时习惯了./和../作为访问目录的路径,但今天使用golang中fs.ReadDir这个函数的时候发现这个习惯是不正确的。 但是常用的命令并没有分很清楚.和./ 在这几个命令中使用.或./都可以到达目录下 ls cd 错误示范 package main import ( "fmt" "io/fs" ......
ReadDir golang fs

php 在laravel中集成grpc

在laravel中集成使用grpc 一、安装: 1、macOS php扩展:pecl install grpc,pecl install protobuf protocbuf:brew install protobuf etcd:brew install etcd 2、ubuntu: php扩展: ......
laravel grpc php

golang简单判断22-65535开发情况

package main import ( "fmt" "net" "sync" "time" ) func main() { server := "42.51.129.175" // 要检查的服务器地址 ports := make([]int, 65535) // 要检查的端口范围,从22到655 ......
情况 golang 65535 22

【go】Go (Golang) 语言-Golang 定时器Timer和Ticker、time.AfterFunc、time.NewTicker()实例

Golang 定时器Timer和Ticker Golang 定时器包括:一次性定时器(Timer)和周期性定时器(Ticker)。 编程中经常会通过timer和ticker、AfterFunc定时器NewTicker是设定每隔多长时间触发的,是连续触发,而计时器NewTimer是等待多长时间触发的, ......
Golang 定时器 time AfterFunc NewTicker

在golang中如何实现 WebSocket 的双向通信

在golang中如何实现 WebSocket 的双向通信 ? 原创 磊丰 Go语言圈 2023-12-21 08:30 发表于广东 听全文 Go语言圈 Go语言开发者的学习好助手,分享Go语言知识,技术技巧,学习与交流Go语言开发经验,互动才有助于技术的提升,每天5分钟,助你GO语言技术快乐成长 1 ......
双向 WebSocket golang

使用 golang 开发 PHP 扩展

使用 golang 开发 PHP 扩展 环境 golang go1.19.9 darwin/arm64 Macos/Linux PHP8.1.11 编译安装 实战 PHP脚手架生成 进入PHP源码,使用命令 php ext/ext_skel.php --ext go2php 会在ext目录下生成go ......
golang PHP

何时使用GraphQL、gRPC 和 REST

何时使用GraphQL、gRPC 和 REST 在设计应用程序时,开发人员可以从各种客户端-服务器通信协议中进行选择。使用 GraphQL、gRPC 和 REST 在当代项目中相对常见。每种协议都可以提供各种优势,具体取决于您的应用需求。 一.GraphQL 是一种灵活的数据请求方法,它专注于特定请 ......
GraphQL gRPC REST

golang封装命令做pipe管道

package main import ( "fmt" "io" "os/exec" ) func main() { fmt.Println("vim-go") // pipeReader, pipeWriter := io.Pipe() binPath := "../03-ncpk-nvm/nvm ......
管道 命令 golang pipe

Golang 配置文件动态更变(viper)

一.下载包 go get github.com/spf13/viper 二.源码 1 func LoadConf(fpname string) { 2 ini := viper.New() 3 ini.SetConfigFile(fpname) 4 5 ini.SetDefault("databas ......
文件 动态 Golang viper

Golang的闭包和匿名函数

Golang语言支持匿名函数,这些匿名函数也被称为闭包。匿名函数是一种特殊类型的函数,它没有名称,而闭包可以看作是一种特殊类型的匿名函数,尽管在实践中有微小的区别。 Golang 中的匿名函数匿名函数也可以称为字面函数、lambda 函数或闭包。闭包的概念源于 lambda 计算中表达式的数学评估。 ......
闭包 函数 Golang

golang 多协程赋值 error 问题

近期遇到一个问题 golang 在多协程情况下,对一个 error 进行赋值,本意是无论多少个协程,只要有个一个 error,那么就认为是 error 错误. 但是在实际写的过程中遇到问题就是需不需要加锁,不加锁会影响什么 代码如下(伪代码) func main(){ var err error v ......
golang 问题 error

Golang io.Pipe()函数及示例

https://geek-docs.com/go-tutorials/go-examples/g_io-pipe-function-in-golang-with-examples.html 在Go语言中,io包提供了基本的I/O原语接口,其主要工作是封装这些原语的正在进行的实现。Go语言中的 Pip ......
示例 函数 Golang Pipe io

golang多版本管理工具g使用(windows)

1.下载地址 https://github.com/voidint/g/releases 2.选择win版本包 3.解压后将g.exe放入自定义目录,这里我放在C:\Program Files\g 4.设置环境变量 编辑系统变量, 添加Path值 5.打开powershell 6.默认情况下,安装的 ......
管理工具 windows 版本 工具 golang

Golang GORM 返回多数据集 []map[string]interface{}

1 // 返回多数据集 2 func UserManySet() { 3 4 rows, err := DB.Raw(`select * from [user];select * from [user1];`).Rows() 5 if err == nil { 6 for { 7 var resul ......
interface 数据 Golang string GORM

获取golang在发送 http.NewRequest 请求时的实际参数

有如下post请求 request, err := http.NewRequest(http.MethodPost, url, r) 其中r是io.Reader请求参数 可以使用以下方法获取实际发送请求时的参数: requestDump, err := httputil.DumpRequest(re ......
NewRequest 实际 参数 golang http

grpc使用nginx代理配置

参考:https://www.nginx.com/blog/nginx-1-13-10-grpc/ 重点是标记红色的部分 http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $ ......
nginx grpc

golang build 不同系统下的可执行文件

接着使用如下命令行运行上面的代码: go run -gcflags "-m -l" main.go 使用 go run 运行程序时,-gcflags 参数是编译参数。 其中 -m 表示进行内存分配分析,-l 表示避免程序内联,也就是避免进行程序优化。 1、Mac下编译Linux, Windows平台 ......
文件 golang 系统 build