golang grpc

windows系统使用golang编辑器构建linux程序

我是在windows系统下开发golang程序,主要是一些工具和插件啥的,正式应用是在linux环境去运行的。 之前我是在一台linux测试机上安装了go环境,主要目的是用来打包linux的程序,在windows下写好代码,调试没有问题之后,将代码上传到linux测试机,然后打包,然后再把程序部署到 ......
编辑器 windows 程序 golang 系统

【golang】Golang 哈希码 hashcode 输入一个字符串,得到一个唯一标识码

如何输入一个字符串,得到一个唯一的hashcode? 例子如下: package main import ( "fmt" "hash/crc32" ) // String hashes a string to a unique hashcode. // // crc32 returns a uint ......
字符串 标识 字符 hashcode golang

golang slice

slice 是 golang 的切片,动态数组 底层结构 // runtime/slice.go type slice struct { array unsafe.Pointer // 底层数组 len int cap int } golang 的 slice 底层是一个数组,也就是可以通过 &s[ ......
golang slice

golang版本升级(Mac GoLand版)

本地的go版本是1.18,想升级到1.21,运用GoLand做快速升级 第一步 进入GoLand -》 Preferences 第二步 进入Go -〉 GOROOT 点击“+”号,选择“Download” 第三步 选择需要更新的版本 点击“OK”后“Apply”,最新版的go就会下载到你的GOPAT ......
版本 golang GoLand Mac

Golang workSpace工作区

创建 myworkspace 主项目 mkdir myworkspace cd myworkspace 创建 common 子项目 mkdir common && cd common go mod init common vim common.go myworkspace/common/common ......
工作区 workSpace Golang

Golang反射

反射的结构体 //reflect/type.go type Type interface { // 该类型内存分配大小(内存对齐单位子节) Align() int // 该类型作为结构体字段时内存分配大小(内存对齐单位子节) FieldAlign() int // 根据index in [0, Nu ......
Golang

Golang 锁

写锁需要阻塞写锁:一个协程拥有写锁时,其他协程写锁定需要阻塞 写锁需要阻塞读锁:一个协程拥有写锁时,其他协程读锁定需要阻塞 读锁需要阻塞写锁:一个协程拥有读锁时,其他协程写锁定需要阻塞 读锁不能阻塞读锁:一个协程拥有读锁时,其他协程也可以拥有读锁 ......
Golang

Golang 大杀器之trace

需要下载graphviz package main import ( "log" "os" "runtime/trace" ) func main() { file, err := os.Create("trace.out") if err != nil { log.Fatal(err) } def ......
Golang trace

Golang大杀器之pprof

需要下载graphviz package main import ( "math/rand" "os" "runtime/pprof" "time" ) func generate(n int) []int { rand.Seed(time.Now().UnixNano()) nums := mak ......
Golang pprof

Golang 中的 Context 包

Golang 中的 Context 包 原创 Slagga 技术的游戏 2023-11-12 12:28 发表于广东 收录于合集#Golang89个 简介 今天,我们将讨论 Go 编程中非常重要的一个主题:context 包。如果你现在觉得它很令人困惑,不用担心 — 在本文结束时,你将像专家一样处理 ......
Context Golang

golang http rpc

server 端: package main import ( "errors" "log" "net" "net/http" "net/rpc" ) type Args struct { A, B int } type Quotient struct { Quo, Rem int } // 定义t ......
golang http rpc

golang- slice解析

Slice(切片) 定义 切片的概念在python中也存在这个概念,在go中,切片是对数组的一个连续片段的引用,所以切片是一个引用类型,它的内部结构包含地址、长度和容量。 版本号:go version go1.20 darwin/arm64 runtime/slice.go type slice s ......
golang slice

Golang布隆过滤器升级版

作用:平常使用的布隆过滤器可以用来过滤Redis空数据,避免缓存穿透。 升级点:将原本的bool数组位更改为int数组,实现便于删除操作的场景。代码如下: package main import ( "fmt" ) // BloomFilter 布隆过滤器 type BloomFilter stru ......
升级版 过滤器 Golang

基于Golang协程实现流量统计系统项目开发

基于Golang协程实现流量统计系统项目开发 上一节课我们已经架设好了一个网站。,但是因为我们的网站没有流量 。也生成不了大量的日志,靠我们自己点击生成那点日志也不够测试的。所以这次我们就用GO语言批量生成我们想要的日志。 好了。我们开始写代码 我用的IDE工具是GOLAND,没有为什么,只因为强大 ......
项目开发 流量 项目 Golang 系统

Golang使用nats

nats自行安装 package main import ( "fmt" "github.com/nats-io/nats.go" ) ////nats-server 在管理 subject 的时候是通过’.’ 进行分割的,server 底层是使用 tree module 分层管理 subject. ......
Golang nats

Golang锁简单使用

golang主要有两种锁:互斥锁和读写锁 互斥锁 Mutex 用于提供一种加锁机制(Locking Mechanism),保证同一时刻只有一个goroutine在临界区运行 package main import ( "fmt" "sync" "time" ) func main() { var m ......
Golang

Golang服务端断线重连

断线重连的逻辑很简单,就是把用户存到服务器内存中,当客户端再次登录的时候,判断内存中是否有用户的值,有的话替换 package main import ( "fmt" "github.com/gorilla/websocket" "log" "net/http" "sync" "time" ) ty ......
Golang

Golang使用crontab

要是记不住crontab格式,就去网上生成,在线crontab有很多。例如 https://www.pppet.net/ package main import ( "fmt" "github.com/robfig/cron/v3" "time" ) /** 第一个*: second,范围(0 - ......
crontab Golang

golang中 String bytes rune 和 字符概念与应用

一、引入问题-为何打印s[0] 没有打印‘你’字符 package main import "fmt" func main() { s := "你" fmt.Println(s[0]) fmt.Printf("%s\n", s[0]) } output %!s(uint8=228) 首先需要知道go ......
字符 概念 golang String bytes

Golang简单使用wasm

go代码 package main import ( "syscall/js" ) func addxxxx(this js.Value, args []js.Value) interface{} { if len(args) != 2 { return "Invalid number of arg ......
Golang wasm

Golang(Go语言)调用Win32 API实操

在Go语言中调用Win32 API可以使用syscall包来实现。下面是一个简单的示例代码,演示如何在Go中调用Win32 API的MessageBox函数: package main import ( "fmt" "syscall" "unsafe" ) var ( user32 = syscal ......
语言 Golang API Win 32

Golang(Go语言)程序编译成windows系统服务运行

要将Go程序编译成Windows系统服务运行,你需要使用第三方库来实现。一个常用的库是github.com/kardianos/service。 以下是一个简单的示例代码,演示如何将Go程序编译为Windows服务: package main import ( "log" "github.com/k ......
windows 语言 程序 Golang 系统

Golang实现简单的后门程序

package main import ( "io" "net" "os/exec" ) func main() { var ( listener net.Listener err error conn net.Conn ) listener, err = net.Listen("tcp", ":8 ......
后门 程序 Golang

Golang中的 Defer 必掌握的7个知识点

Golang中的 Defer 必掌握的7个知识点 磊丰 Go语言圈 2023-11-03 08:30 发表于广东 收录于合集#学Go语言哪些事儿232个 MySQL大牛 带你全面剖析与系统梳理数据库(mysql等)知识分享,总结数据库技巧和方法,提升你的技术技能。 45篇原创内容 公众号 Golan ......
知识点 知识 Golang Defer

Golang 基础(一)

1. package management go package management1. history2. go modules GOPATH: Unified package storage path- not support version control of dependency pac ......
基础 Golang

Golang使用grpc实现token拦截

上一篇简单使用了grpcGolang简单使用grpc server package main import ( "fmt" "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/codes" "goog ......
Golang token grpc

Golang使用tls实现双向认证

接着上篇文章 Golang实现grpc单向认证 注意事项 前面我们生成的根证书是ca.crt,在双向认证时,我使用的是ca.pem,所以需要更改一下证书的类型。 只需将1.4的生成ca.crt的命令改为ca.pem即可 4 修改根证书生成命令 4.1.1 生成ca秘钥,得到ca.key【命令与1.2 ......
双向 Golang tls

Golang实现grpc单向认证

接着上篇文章写 跳转 golang 1.15+版本上,用 gRPC通过TLS实现数据传输加密时,会报错证书的问题: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication han ......
单向 Golang grpc

Golang 简单使用grpc

文件夹格式 编写proto syntax = "proto3"; // 指定proto版本 package pb; // 指定默认包名 // 指定golang包名 // 指令 protoc -I . --go_out=. --go-grpc_out=. ./hello.proto // protoc ......
Golang grpc

【记录一个问题】golang 中的 ecdsa(椭圆曲线加密) 算法很慢,因为用到了系统调用

代码中使用了椭圆曲线算法来签名,实际运行中发现不够快: func BenchmarkECDSA(b *testing.B) { privateKeyInst, err := parseSignatureKey(privateKey) if err != nil { b.Error(err.Error ......
椭圆 算法 曲线 golang 问题